Skip to content

claudectl GUI API

Generated by tools/gen_api_docs.py from the route tables in gui_api.py and gui.py — do not edit by hand. tests/test_parity_gate.py fails when this file is out of date.

Every route is served from loopback and guarded by gui._guard(): an allowlisted Host, no browser fetch metadata, and a per-run token in X-Claudectl. Parameters named enc, sid and cfgdir are validated before a handler sees them; a missing or malformed one is a 400.

GET

Route Handler What it does
/api/accounts api_accounts_get
/api/add-dirs api_add_dirs_get
/api/agents/library api_agents_library
/api/agents/read api_agent_read
/api/agents/session api_agents_session_get
/api/background-agents api_background_agents
/api/brief api_brief What to work on, and what changed since the last session.
/api/cc-settings api_cc_settings_get Claude Code's own settings.json, per account, with the schema that says
/api/checkpoint/diff api_checkpoint_diff
/api/checkpoints api_checkpoints Read-only snapshot index for one session.
/api/claude-md api_claude_md_get
/api/client/project api_client_project Claude Code's own record for one project: cost, tokens, MCP approval
/api/client/usage api_client_usage What is actually being used versus carried as dead weight.
/api/conventions api_conventions Conventions shared across projects, and the global CLAUDE.md block they
/api/ctxaudit api_ctxaudit
/api/dashboard api_dashboard Home-screen aggregate: today/week usage, live jobs, MCP status,
/api/deny api_deny_scan
/api/disk api_disk
/api/extra-paths api_extra_paths_get
/api/graph-lite api_graph_lite Compact project shape for the ambient motion layer.
/api/health api_health Project health — 229 lines of checks that were a README headline and had
/api/hooks api_hooks_get
/api/inject/sessions api_inject_sessions
/api/lessons api_lessons_get
/api/loop-md api_loop_md_get
/api/mcp api_mcp_get
/api/memory-map api_memory_map
/api/memory/active api_memory_active Project paths whose memory is being refreshed right now (scan-lock held)
/api/memory/auto api_memory_auto_get Per-project auto-memory state for the management UI.
/api/memory/progress api_memory_progress
/api/memory/state api_memory_state
/api/omniroute/models api_omniroute_models Models that can actually serve a session, not the whole routable catalog.
/api/omniroute/status api_omniroute_status
/api/output-style/read api_output_style_read
/api/output-styles api_output_styles
/api/path-complete api_path_complete Live folder auto-completion for the open-project modal: same pure
/api/plan/last api_plan_last Read back /.claudectl/plan-latest.md, split into the task
/api/plugins api_plugins Marketplaces, installed plugins, and what each one ships.
/api/plugins/provenance api_provenance {kind: {name: plugin_key}} — which rows in the skill/agent/hook managers
/api/prompt-history api_prompt_history
/api/recall-preview api_recall_preview
/api/search-index api_search_index
/api/session/archived api_archived
/api/session/changed-files api_changed_files
/api/session/meta api_session_meta
/api/session/tags api_tags_get
/api/sessions _api_sessions
/api/skills api_skills_get
/api/skills/read api_skill_read
/api/state _api_state
/api/statusline api_statusline Install state plus a live preview rendered from real numbers.
/api/system-prompt api_system_prompt_get
/api/transcript api_transcript
/api/usage/daily api_usage_daily
/api/usage/plan api_usage_plan
/api/usage/project api_usage_project
/api/usage/projects api_usage_projects
/api/worklog api_worklog_get
/api/workspace-status api_workspace_status
/api/worktree/diff api_worktree_diff
/api/worktrees api_worktrees The board: every repo under this project, its worktrees, and the session

POST

Route Handler What it does
/api/accounts/action api_accounts_post
/api/accounts/terminal api_accounts_terminal login / parallel — spawn a terminal for the account (argv-list form).
/api/add-dirs api_add_dirs_set
/api/agents/create api_agent_create
/api/agents/delete api_agent_delete
/api/agents/session api_agents_session
/api/cc-settings api_cc_settings_set
/api/claude-md/scaffold api_claude_md_scaffold
/api/conventions/sync api_conventions_sync
/api/ctxaudit/compact api_ctxaudit_compact
/api/ctxaudit/prune api_ctxaudit_prune
/api/deny/apply api_deny_apply
/api/disk/gc api_disk_gc
/api/extra-paths api_extra_paths_set
/api/health/allowlist api_health_allowlist
/api/hooks/purge api_hooks_purge
/api/hooks/remove api_hooks_remove
/api/hooks/template api_hooks_template
/api/inject/launch api_inject_launch Write the context file and launch a new session in a new console
/api/job api_job_start
/api/launch _api_launch
/api/lessons api_lessons_post
/api/loop-md api_loop_md_set
/api/mcp/add api_mcp_add
/api/mcp/remove api_mcp_remove
/api/memory/auto api_memory_auto_set Toggle a project's auto-memory opt-in (and optionally the interval).
/api/memory/autoscan api_memory_autoscan Called each time a project is opened. Kick off an in-process memory
/api/open-editor api_open_editor
/api/open-path api_open_path Resolve a typed folder into a launchable project — validate it's an
/api/output-style/delete api_output_style_delete
/api/output-style/save api_output_style_save
/api/output-style/select api_output_style_select
/api/plan/edit api_plan_edit
/api/plugins/marketplace/add api_plugin_marketplace_add
/api/plugins/marketplace/remove api_plugin_marketplace_remove
/api/plugins/remove api_plugin_remove
/api/rename _api_rename
/api/session/archive api_session_archive
/api/session/delete api_session_delete
/api/session/export api_session_export
/api/session/restore api_session_restore
/api/session/tags api_tags_set
/api/settings _api_settings
/api/skills/create api_skill_create
/api/skills/install api_skill_install
/api/skills/remove api_skill_remove
/api/statusline api_statusline_set cfgdir targets one account; omitting it means every account, which is
/api/system-prompt api_system_prompt_set
/api/worklog api_worklog_set
/api/worktree/merge api_worktree_merge Merge a worktree branch, behind the standard approval gate.

Job routes

These are matched by prefix rather than by table lookup.

Route What it does
GET /api/job/<id> Poll a job: status, messages, gate
POST /api/job/<id>/decide Answer an approval gate
POST /api/job/<id>/cancel Cancel a running job