Skip to main content

CLI Commands Reference

The anyy command opens the TUI when run without a subcommand. Its public commands configure and operate the selected Profile and resident Gateway.

Global Entry Point​

anyy [--profile NAME] [--profile-root PATH] [--role ROLE]
anyy [--profile NAME] [--profile-root PATH] [--role ROLE] COMMAND
anyy --version
anyy --resume SESSION_ID

Invocation selectors such as --profile, --profile-root, --role, and --no-color appear before the command. For the default TUI, --home, --socket, and --resume follow anyy directly. With a subcommand, put its supported --home/--socket flags after that subcommand; placing these before it is rejected.

FlagPurpose
--profile NAMESelect a named Profile
--profile-root PATHOverride the Profile manager's base root
--role ROLESelect the initial Role for a new conversation
--resume IDOpen a known session in the TUI
--home PATHSelect TUI Home, or override Home after a command that accepts it
--socket PATHSelect TUI socket, or override socket after a command that accepts it
--no-colorDisable colored terminal output
--versionPrint version information

Use anyy COMMAND --help for the exact flags supported by the installed version.

Chat and Health​

anyy / --resume​

anyy
anyy --resume SESSION_ID

Open the Terminal Interface, optionally resuming one session.

anyy chat​

anyy chat [--home PATH] [--socket PATH] [--role ROLE] \
[--session ID] [--json] PROMPT

Send one new prompt through an already running resident Gateway. --session selects an existing conversation for that prompt; if it is busy, the input joins its follow-up queue. --json returns a structured result. Enabled tools execute directly. Use anyy --resume ID to open an existing conversation in the TUI; see Sessions for queue controls.

A successful JSON response contains:

FieldMeaning
session_idConversation receiving the input
submission_idOriginal accepted input whose result was awaited
execution_idReusable Session lane
agent_run_idActual run supplying the answer
execution_stateObserved lane state; normally idle after completion
outcomeThat invocation's outcome; succeeded is success
stop_reasonCompletion or failure classification
assistant_textVisible answer from the recorded result messages for that run

An idle lane alone is not success. Clarification (suspended), failure, interruption, cleared input and timeout exit nonzero without printing an intermediate assistant answer. Timeout or caller cancellation stops observation only. The command keeps the original submission identity and never substitutes the latest Session messages. See CLI Interface.

Conversation tool selection​

The CLI accepts these flags for the default TUI and chat. They select tools for the addressed Session; they do not change Gateway or Profile defaults.

FlagMeaning
--tools LIST, -t LISTComma-separated names/patterns, or a list of exact +name/-name modifiers to the default selection
--exclude-tools LIST, -xt LISTComma-separated names/patterns to exclude
--no-tools, -ntStart with all default tool activation suppressed
--no-builtin-tools, -nbtSuppress default built-in activation while keeping extension defaults
anyy --tools '+codemode,+tool_search'
anyy chat --tools 'read,bash' --exclude-tools 'bash' "Inspect this project"
anyy chat --session SESSION_ID --tools '' "Answer without tools"

Plain patterns support *. A modifier list cannot mix plain names with modifiers or use wildcard modifiers. An empty --tools '' is an explicit empty allowlist; an empty --exclude-tools '' clears that exclusion override. Put flags before the prompt. They may precede chat or follow it; a command-local list replaces the corresponding global list. These flags are rejected for administration commands.

The two suppression flags are separate Go boolean flags. Use --no-builtin-tools for the built-in case; Pi's --no-tools builtin syntax is not supported. --no-tools takes precedence when both are present. Codemode's on/only mode is a Profile setting, with no --codemode-mode flag.

A new Session receives tool_selection through session.new. Explicit flags on an existing Session invoke session.tools.configure first; active work, queued input, pending admission or summary work returns a conflict and no new chat input is submitted. With no override, attaching to a hot Session keeps its current active names. Cold raw restoration and branch navigation use the selected branch's canonical declarations; they differ from SDK-style explicit initial selection.

See Sessions for tool restoration, resource reload and current Session settings.

Local prompt diagnostic​

anyy prompt eval local --authorize-live

Make real, potentially billable calls to the active Profile's model in an isolated temporary session. The command prints responses and actual usage and latency, and writes a private report. --home PATH selects the Profile; --output PATH chooses the report's write-once path. Keep terminal output and the report private. This diagnostic does not start channels or cron and does not grade model quality or certify Pi alignment.

anyy status​

anyy status [--home PATH] [--socket PATH] [--json]

Report selected Profile/Gateway/runtime status.

anyy doctor​

anyy doctor [--home PATH] [--config PATH] [--json]

Run configuration and runtime diagnostics.

anyy config​

anyy config [--home PATH] [--config PATH]

Show the configuration dashboard in the terminal: paths, provider/model, endpoint, and credential-reference status. This command does not edit configuration or reveal secret values.

Setup and Models​

anyy setup​

anyy setup [--home PATH]
anyy setup model [--home PATH]
anyy setup model fallback [--home PATH]
anyy setup channel [--home PATH]
anyy setup channel CHANNEL [--home PATH] \
[--set INPUT=VALUE] [--sensitive-fd INPUT=FD] \
[--external-locator-fd INPUT=FD]

Run the interactive full/quick setup or a focused model/channel flow. See Setup.

anyy tools​

anyy tools [--home PATH] [--probe]
anyy tools list [--home PATH]
anyy tools websearch [--home PATH]
anyy tools image [--home PATH] [--probe]
anyy tools image understanding [--home PATH] [--probe]
anyy tools image generation [--home PATH] [--probe]
anyy tools video [understanding] [--home PATH] [--probe]
anyy tools voice [--home PATH] [--probe]
anyy tools voice tts [--home PATH] [--probe]
anyy tools voice stt [--home PATH] [--probe]

Configure optional web, image, video, and voice capability backends.

Gateway and Dashboard​

anyy gateway​

anyy gateway start [--home PATH]
anyy gateway restart [--home PATH]
anyy gateway status [--home PATH]
anyy gateway stop [--home PATH]

Manage the resident Gateway background service.

anyy dashboard​

anyy dashboard [--home PATH] [--socket PATH] [--listen ADDR] [--no-open]
anyy dashboard --status
anyy dashboard --stop

Start, inspect, or stop the on-demand Dashboard sidecar. See Dashboard Overview.

Messaging​

anyy channel​

anyy channel doctor CHANNEL [--home PATH] [--socket PATH] [--json]
anyy channel pairing list [--channel CHANNEL] [--account ACCOUNT] [--all] [--json]
anyy channel pairing approve --request REQUEST
anyy channel pairing approve --prompt-code --channel CHANNEL --account ACCOUNT
anyy channel pairing approve --code-stdin --channel CHANNEL --account ACCOUNT
anyy channel pairing reject --request REQUEST
anyy channel pairing revoke --grant GRANT [--reason TEXT]
anyy channel reload [--home PATH] [--socket PATH] [--json]

Diagnose Channels, decide pairing requests, revoke grants, and reload runtime configuration. See Messaging Platforms.

Skills and MCP​

anyy skills​

anyy skills list [--home PATH] [--json]
anyy skills view [--home PATH] [--json] NAME [FILE_PATH]
anyy skills install [--home PATH] [--socket PATH] [--name NAME] [--force] [--now] [--json] ZIP_PATH
anyy skills uninstall [--home PATH] [--socket PATH] [--now] [--json] NAME
anyy skills rollback [--home PATH] [--socket PATH] [--revision REVISION_ID] [--now] [--json] NAME
anyy skills reload [--home PATH] [--socket PATH] [--json]

Inspect, install, remove, roll back, and reload Skills.

anyy mcp​

anyy mcp add SERVER_ID [--home PATH] --transport stdio --command CMD [--cwd DIR] [--env KEY=VALUE] [--disable] [--args ARG...]
anyy mcp add SERVER_ID [--home PATH] --command CMD [--cwd DIR] [--exposure codemode|deferred|direct|hidden] [--tool-exposure JSON] [--description TEXT] [--args ARG...]
anyy mcp add SERVER_ID [--home PATH] --url URL [--transport http] [--auth JSON] [--oauth JSON] [--header KEY=VALUE] [--exposure codemode|deferred|direct|hidden]
anyy mcp add SERVER_ID [--home PATH] --preset filesystem [-- ARG...]
anyy mcp add SERVER_ID [--home PATH] --local --url URL [--oauth JSON] [--header KEY=VALUE]
anyy mcp add SERVER_ID [--home PATH] --local --command CMD [--cwd DIR] [--env KEY=VALUE] [--args ARG...]
anyy mcp configure SERVER_ID [--home PATH] [--socket PATH] [--exposure codemode|deferred|direct|hidden] [--enable]
anyy mcp configure SERVER_ID [--home PATH] [--socket PATH] [--tool-exposure JSON] [--description TEXT]
anyy mcp login SERVER_ID [--home PATH] [--socket PATH] [--timeout SECONDS] [--json]
anyy mcp logout SERVER_ID [--home PATH] [--socket PATH] [--json]
anyy mcp remove SERVER_ID [--home PATH] [--force]
anyy mcp remove SERVER_ID [--home PATH] --local
anyy mcp enable SERVER_ID [--home PATH] [--project]
anyy mcp disable SERVER_ID [--home PATH] [--project]
anyy mcp set SERVER_ID KEY VALUE [--home PATH]
anyy mcp unset SERVER_ID KEY [--home PATH]
anyy mcp status [--home PATH] [--socket PATH] [--json]
anyy mcp list [--home PATH] [--socket PATH] [--json]
anyy mcp call SERVER.TOOL [--args JSON] [--home PATH] [--socket PATH] [--json]
anyy mcp call SERVER_ID TOOL_NAME [--args JSON] [--home PATH] [--socket PATH] [--json]
anyy mcp show SERVER_ID [--home PATH] [--socket PATH] [--json]
anyy mcp probe SERVER_ID [--home PATH] [--socket PATH] [--json]
anyy mcp test SERVER_ID [--home PATH] [--socket PATH]
anyy mcp reload [SERVER_ID] [--home PATH] [--socket PATH] [--json]
anyy mcp logs [SERVER_ID] [--home PATH] [--socket PATH] [--json]
anyy mcp serve [--home PATH] [--socket PATH]

Manage stdio or HTTP MCP servers, authentication, exposed tools, runtime status, and direct calls. Run anyy mcp --help before adding a server; transport flags differ.

add saves an enabled lazy server by default; --disable turns it off. Configuration uses exposure and ordered overrides without a tool picker or required probe. RPC tool_exposure carries an ordered JSON object string. Probe reports one tools inventory with exposure/offered facts.

configure --exposure/--enable changes settings in the selected source or existing project override. configure --description/--tool-exposure and generic set/unset edit the raw Profile definition. Mixing the two configure domains is rejected; issue separate commands. Inspect the source with show before editing.

add --cwd DIR applies only to stdio servers. Add and generic set SERVER_ID cwd VALUE preserve the supplied relative, absolute or leading-home path; cwd uses the resident canonical Workspace as its relative base.

Ordinary MCP value writes preserve the input string and its expression syntax; a sensitive-looking field name does not trigger automatic Secret storage. Explicit Profile env:, secret: and file: references retain their own resolution rules.

--project applies only to enable/disable of an unoverridden Profile server and writes an enabled-only project override. --local (also -l) applies only to add/remove and writes .anyy/mcp.json in the Profile's canonical Workspace. Local add replaces the named entry without --force; local remove preserves Profile configuration and grants. Neither operation reloads a running entry. Adding or removing MCP server definitions in the Profile configuration keeps its existing confirmation and credential behavior.

reload reconnects loaded configuration without rereading files. Startup or an idle session.reload RPC rereads Profile and project files. Login's --timeout defaults to 300 seconds and limits authorization only. See MCP configuration.

logout removes the selected server's saved local OAuth authorization, including supported client material; it does not delete the server definition. It uses the resident runtime when available, otherwise requires exclusive offline Profile ownership.

anyy mcp serve exposes Anyy to another MCP client. The messages_send result follows the original submission and may report a clarification suspension without claiming a final answer. See the MCP conversation result and await API reference.

Automation​

anyy cron​

anyy cron list [--home PATH] [--include-disabled] [--role ROLE] [--workspace WORKSPACE] [--all-scopes] [--json]
anyy cron create [--home PATH] --name NAME --schedule SCHEDULE --prompt TEXT \
[--kind agent|skill|notify] [--skills LIST] [--role ROLE] [--workspace WORKSPACE] \
[--delivery-target TARGET] [--delivery-channel CHANNEL] [--toolsets LIST] [--json]
anyy cron create [--home PATH] --name NAME --schedule SCHEDULE --kind script --script NAME \
[--workdir PATH] [--role ROLE] [--workspace WORKSPACE] [--delivery-target TARGET] [--json]
anyy cron update [--home PATH] --id ID [--enable|--disable] [--schedule SCHEDULE] [--prompt TEXT] \
[--role ROLE] [--workspace WORKSPACE] [--all-scopes] [--json]
anyy cron delete [--home PATH] --id ID [--role ROLE] [--workspace WORKSPACE] [--all-scopes] [--json]

Create agent, skill, script or notification jobs. With no explicit kind, --script selects script; otherwise the default is agent. Agent/skill/notify jobs require --prompt, and script jobs require --script. Delivery targets are gateway, origin, current_user_default or none, subject to the route requirements described in Automations. Scheduled runs retain their saved Role, Workspace, payload and delivery route.

anyy heartbeat​

anyy heartbeat status [--home PATH] [--json]

Report resident heartbeat state.

Profiles and Roles​

anyy profile​

anyy profile list [--json]
anyy profile get NAME [--json]
anyy profile create NAME [--display-name NAME] [--json]
anyy profile use NAME [--json]
anyy profile delete NAME --force [--purge-secrets] [--json]

Manage isolated Profile homes. Delete is destructive and requires --force.

anyy role​

anyy role list [--home PATH] [--include-archived] [--json]
anyy role get [--home PATH] ROLE_ID [--json]
anyy role create [--home PATH] ROLE_ID [--display-name NAME] [--json]
anyy role update [--home PATH] ROLE_ID [--display-name NAME] [--soul-file PATH] [--json]
anyy role use [--home PATH] ROLE_ID [--json]
anyy role delete [--home PATH] ROLE_ID [--json]

Inspect and manage assistant Roles and Soul content.

Backup, Maintenance, and Release Lifecycle​

anyy backup​

anyy backup create [--home PATH] [--output PATH] [--include-secrets] [--json]
anyy backup restore --archive PATH --target-home PATH [--json]
anyy backup list [--home PATH] [--json]

Create, list, or restore Profile backups. --include-secrets additionally includes the managed secrets/ and mcp/oauth/ directories. Configuration and Workspace files can already contain inline credentials without that flag; backup does not redact every included file. Keep every archive private and protect it as sensitive data. See Backup & Restore for the capture boundary and recovery steps.

anyy maintenance​

anyy maintenance compact-state [--home PATH] (--output PATH | --replace) [--temp-dir PATH] [--json]
anyy maintenance checkpoint-state [--home PATH] [--json]
anyy maintenance cache-token-estimates [--home PATH] [--limit N] [--execute] [--json]

Perform state-database and token-estimate maintenance. Commands that replace state should be preceded by a verified backup.

anyy update​

anyy update [--home PATH] [--version VERSION] [--base-url URL]
anyy update --compact [--home PATH] [--version VERSION] [--base-url URL]
anyy update --check [--home PATH] [--version VERSION] [--base-url URL]

Check or update a native resident installation. See Updating & Uninstalling.

anyy uninstall​

anyy uninstall
anyy uninstall --keep-data --yes
anyy uninstall --full --yes
anyy uninstall --home PATH --keep-data --yes

Remove a native resident installation. Choose either --keep-data or --full before using --yes (-y). They cannot be combined. --home PATH selects the installation home; --full also removes all Anyy data in scope, so back up first.