Configuration
Anyy configuration belongs to a Profile. Each Profile has its own model routes, channels, tools, schedules, credentials, workspace, and state.
Recommended Ways to Change Settings
| Change | Recommended surface |
|---|---|
| Initial setup | anyy setup |
| Models and credentials | Dashboard → Models or anyy setup model |
| Channels | Dashboard → Channels or anyy setup channel |
| Image, video, and speech routes | Dashboard → Models or the corresponding Tools page |
| Web search | Dashboard → Tools → Web Search |
| Roles, skills, MCP, and cron | Their Dashboard section |
| Inspect the resolved configuration | anyy config |
anyy config is read-only. It reports the resolved Profile, paths, provider/model selection, and credential-reference health without printing secret values.
Dashboard and setup commands validate changes, protect credentials, and reload the live runtime where supported. Direct YAML editing is useful for advanced recovery, but it skips those guided checks.
Profile Layout
The active Profile home contains the canonical user data for that Profile. Important paths include:
| Path | Purpose |
|---|---|
config.yaml | Settings and credential references; MCP value fields retain entered strings |
secrets/ | Anyy-managed secret material |
state.db | Sessions, messages, jobs, audit, and other durable state |
memory/USER.md | Durable user facts and preferences |
memory/MEMORY.md | Durable assistant memory |
objects/ | Content-addressed durable payloads referenced by canonical state |
workspace/ | Context files and user-produced working files |
skills/ | Installed Profile-local skills |
roles/ | Profile-local Role definitions |
Do not treat workspace/ as a security boundary. A tool still follows operating-system permissions and execution limits.
Which Profile Is Active?
anyy status
anyy config
To inspect another named Profile:
anyy --profile work config
Commands that accept --home PATH can target an explicit Profile directory. Avoid mixing --profile, --profile-root, and ad-hoc --home values unless you are deliberately diagnosing path resolution.
Thinking Configuration and Migration
The Profile's global thinking preference lives in main_model.inference; optional exact-target overrides
live in the root model_thinking_levels map:
main_model:
provider_id: your-provider
model: your-model
inference:
enabled: true
# Leave level omitted to keep the global level unset.
model_thinking_levels:
"your-provider/your-model": high
Use your configured provider/model IDs. Map keys split at the first /; both
sides must be nonempty. Validation does not normalize keys, and lookup is
exact. An unregistered model key may be saved for later use. Values are named
Pi levels: off, minimal, low, medium, high, xhigh, or max; runtime
snapshots trim value whitespace. An empty map value is invalid.
Global enabled defaults to true. With enabled true or omitted, an omitted
level means unset; enabled: false explicitly requests off, even without a
level. Named off is also valid. The selected model clamps the request;
inference.effective_level is read-only and is not a YAML setting. See
selection priority.
When upgrading an old configuration to v0.1.107:
- Remove the retired
prompt_program.inference_levelkey, even if empty. Null and other typed values are also rejected. Move its intended global preference tomain_model.inference, or an exact-model preference tomodel_thinking_levels. - Remove
prompt_program.render_profilewhenever present, even if null or empty. It has no replacement selector or must-high requirement. - Replace product
provider_defaultvalues with a named Pi level. For a global level, removinglevelpreserves unset; for a map entry, choose a named value or remove the entry.
JSON/YAML and product model APIs reject retired input explicitly; there is no
alias or silent conversion to medium. Anyy does not silently rewrite these retired values; migrate them explicitly. Public
prompt_program settings retain only resource_class. Native low-level
omitted inference remains valid.
Retry and Model Interfaces
Session retries, provider SDK retries, fallback, and virtual-model callbacks have separate controls; retry.enabled is not a switch for all retry behavior. See Provider Protocols and Model Interfaces for typed providers[].models[] records, sampling fields, and exact retry/httpIdleTimeoutMs settings.
MCP configuration
Profile-wide MCP definitions remain under mcp.client.servers in config.yaml. The Profile's canonical Workspace may also contain .anyy/mcp.json (currently <ProfileHome>/workspace/.anyy/mcp.json). Full project definitions replace same-name Profile definitions; partial entries override only enabled state, exposure and the complete ordered tool-exposure rules. See Profile and project configuration for the file format and value expressions.
Enabled/exposure settings save to the selected definition or existing project override and affect only that server. Description, tool overrides, transport and credential edits through Profile commands remain raw Profile edits. CLI settings and Profile options must be submitted separately. enable/disable --project creates an enabled-only override for an unoverridden Profile server. add/remove --local edits only native project definitions, preserving the Profile definition and independent credentials; those file edits take effect after the next startup or idle Session reload.
anyy mcp reload reconnects a server using loaded values; it does not reread files. Startup and the existing idle session.reload RPC reread the Profile/project configuration. See the MCP guide for value expressions, exposure rules, and OAuth authentication.
Credentials
Anyy-managed credentials use references rather than the secret value in configuration. Explicit supported credential operations in Dashboard and setup write keys under the Profile's secrets/ directory with restricted permissions. Ordinary MCP value writes preserve their entered strings and expressions; they do not automatically create managed secrets. See MCP values.
Replace, clear, connect, or disconnect credentials through the same feature surface that created them. Never paste secrets into chat prompts, screenshots, shell history, or support bundles.
Applying Changes
Many Dashboard and setup operations reload the affected runtime after a successful write. Channel changes can also be applied explicitly:
anyy channel reload
If a change is saved but behavior has not changed, check:
anyy status
anyy doctor
anyy gateway status
Restart the Gateway only when the feature's remediation asks for it or a live reload cannot complete.
v0.1.107 rejects these old MCP settings. Remove or migrate them in manually maintained configuration:
mcp.client.enabled: use each server'senabledsetting.mcp.client.session_idle_ttl_ms: retired; tool catalogs refresh on notifications and explicit operations.- Server
connect_timeout_ms: use the existingcall_timeout_msfor each initialization, discovery, or tool request. tools.include,tools.exclude, andtools.trusted: useexposureandtoolExposure;tools.resourcesandtools.promptsare also retired.
There is no new request_timeout_ms configuration key. See MCP Servers for complete formats and migration.
Back Up Before Manual Editing
anyy backup create
The default omits the managed secrets/ directory and supported mcp/oauth/ storage; --include-secrets additionally includes those stores. Canonical configuration and Workspace files are still captured, so inline credentials already in them may enter even a default archive. Backups are not guaranteed to be fully redacted. Protect every archive as private data, and include the managed secret stores only when it will be protected like a credential store. See Backup & Restore.
Troubleshooting
| Symptom | Check |
|---|---|
| A setting appears unchanged | Confirm the active Profile and inspect anyy config |
| Gateway still uses old values | Run the relevant reload action, then inspect anyy status |
| Configuration validation fails | Use the Dashboard form or setup wizard to identify the invalid field |
| Credential is configured but unresolved | Replace it from the owning Models, Tools, or Channels page |
| Hand-edited YAML prevents startup | Restore the last valid file or restore a backup into a new Profile |