# Claude — built-in provider manifest. # Authoring format for the def half. See packages/hive-agents/src/manifest.ts. manifestVersion: 2 # Written for the agent host that shipped in this release. minAppVersion: '2026.9.6' id: claude label: Claude bin: claude aliases: - claude-code enabled: true caps: promptDelivery: argv turnSignal: true resume: tile supervise: broker blockedDetection: true icon: viewBox: 0 0 24 24 attrs: fill: currentColor shapes: - path: d: m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z spawn: label: 'claude #{n}' titles: - Claude Code # Answering its permission prompt from another of your devices (a phone's Allow / Deny), read # from claude 2.1.287: its chooser takes a digit as that option, and the first is always "Yes"; # Esc is "No, and tell Claude what to do differently". answer: permission: allow: - '1' deny: - escape # Its trust prompt, read from claude 2.1.296: "No, exit" is selected first and digits do # nothing, so Down then Enter trusts the folder; Esc exits. trust: allow: - down - enter deny: - escape # A settings file it cannot read, from claude 2.1.296: "3. Continue without these settings"; # Esc exits. settings: allow: - '3' deny: - escape # A settings rule it skipped, from claude 2.1.302: "1. Continue"; "3. Exit and fix manually" # exits (Esc continues too, so it is no deny). settings-warning: allow: - '1' deny: - '3' # An option of its AskUserQuestion chooser, read from claude 2.1.296: a digit chooses that option # and sends it, for one question with one choice. choose: - '{n}' # The key that interrupts its turn, typed from your phone's Stop: claude 2.1.287 says "esc to # interrupt" while it works. interrupt: - escape # A message typed while it works is queued and read at its next step: claude 2.1.289 shows # "Press up to edit queued messages". steer: true # Its prompt with nothing typed, read from claude 2.1.309: the cursor sits right after "❯ ", before # the dim suggestion it shows there; the person's words come between the two. emptyPrompt: when: seq: - lit: ❯ - run: space min: 0 - end: true at: start scope: kind: tail n: 1 options: - id: mode label: Permission mode flag: --permission-mode values: bypassPermissions: - --dangerously-skip-permissions unattended: bypassPermissions - id: model label: Model flag: --model - id: effort label: Effort flag: --effort install: url: https://code.claude.com/docs/en/setup command: "curl -fsSL https://claude.ai/install.sh | bash" detect: scope: kind: tail n: 20 rules: - when: all: - contains: Yes, I trust this folder - contains: Enter to confirm then: permission says: trust - when: all: - containsCS: Settings Error - contains: Continue without these settings then: permission says: settings - when: all: - containsCS: Settings Warning - contains: 1. Continue then: permission says: settings-warning # Its one-time warning for its unattended mode, read from the claude 2.1.302 binary. It has no # answer keys: accepting it is the person's own consent, given at the terminal. - when: all: - containsCS: Bypass Permissions mode - contains: Yes, I accept then: permission says: bypass - when: seq: - run: space min: 0 - lit: "2." - run: space min: 1 - lit: "Yes," - run: space min: 1 at: start then: permission - when: any: - seq: - run: space min: 0 - lit: press enter at: start ci: true - contains: Enter to select - containsCS: "\u2191/\u2193 to navigate" - contains: Esc to cancel - contains: "[use arrows" # Its chooser's selected option, its footer cut (a viewer's repaint shrinks the screen a # row): above it, the person's last message starts with the prompt's mark too, and may start # with a number ("❯ 1. fix the login"). The chooser takes the place of its empty prompt. - all: - seq: - run: "❯" min: 1 max: 1 - run: space min: 1 max: 1 - run: digit min: 1 - lit: ". " at: start - not: seq: - run: "❯" min: 1 max: 1 - run: space min: 0 - end: true at: start then: question - when: contains: esc to interrupt then: working - when: seq: - run: "\u2191\u2193\u00b7(" min: 1 max: 1 - run: space min: 0 - run: "0123456789.," min: 1 - run: space min: 0 - run: k min: 0 max: 1 - run: space min: 0 - lit: tokens ci: true then: working - when: seq: - run: "\u273b\u2736\u2733\u2722\u273d\u22c6\u273a\u2739\u2738\u2737\u2735\u2734\u2732\u2731\u25cf\u25cb\u25d0\u25d3\u25d1\u25d2\u25cd\u25cc*\u00b7\u271a\u2726\u2727" min: 1 max: 1 - run: space min: 1 - run: "!space" min: 1 max: 1 - upTo: "\u2026" then: working - when: all: - any: - seq: - lit: "(" - run: digit min: 1 - lit: m - run: space min: 0 - run: digit min: 1 - lit: s - notNext: word - seq: - lit: "(" - run: digit min: 1 - lit: s - run: space min: 0 - lit: "\u00b7" - any: - contains: tokens - contains: interrupt - contains: thinking - contains: effort then: working - when: seq: - lit: "waiting for " - run: digit min: 1 - lit: " background agent" - run: s min: 0 max: 1 - notNext: word ci: true then: working scope: kind: screen - when: any: - seq: - run: "\u276f>" min: 1 max: 1 - run: space min: 1 max: 1 - notNext: digit at: start - seq: - run: "\u276f>" min: 1 max: 1 - end: true at: start then: idle - when: all: - seq: - lit: "\u23f5\u23f5" - run: space min: 0 - any: - bypass permissions - accept edits ci: true - not: any: - containsCS: "\u2502" - containsCS: "\u256d" - containsCS: "\u2570" then: idle default: working # Rows of its own above its input, which a tile's last line passes over, read from the claude # 2.1.309 binary: its effort right of the rule ("◐ medium · /effort"), its spinner while it works # ("✻ Combobulating…", "* Newspapering… (2s · ↓ 2 tokens)") and what it says as a turn ends # ("✻ Crunched for 2s · done 6:51 PM"). Its messages open with "●" at the first column and go on # two columns in, so neither is taken for these. chrome: any: - seq: - lit: " · /effort" - seq: - run: "✻✶✳✢✽⋆✺✹✸✷✵✴✲✱*·✚✦✧" min: 1 max: 1 - run: space min: 1 max: 1 - run: "!space" min: 1 max: 1 - upTo: "…" at: start - seq: - run: "✻✶✳✢✽⋆✺✹✸✷✵✴✲✱*·✚✦✧" min: 1 max: 1 - run: space min: 1 max: 1 - run: word min: 1 - lit: " for " - run: digit min: 1 at: start session: # Each transcript's first lines carry its folder, its title, and the user's first prompt. list: lines: 30 cwdPath: cwd titlePath: [aiTitle, message.content] promptPath: message.content bind: args: - --session-id - '{newId}' unless: - --session-id - --resume - -r - --continue - -c - --from-pr resume: args: - --resume - '{id}' position: before from: tracked: true bound: --session-id fallback: - --continue exists: '{home}/.claude/projects/*/{id}.jsonl' # The session file, read as the conversation your phone shows: one record a line; the person's # prompts, what Claude says, the tools it uses and what they gave back. Its side threads # (sidechains) and the meta records it writes for itself say nothing. transcript: id: uuid at: timestamp skipWhen: { isSidechain: true, isMeta: true } said: - require: { type: user } text: message.content who: person - require: { type: user } each: message.content item: { type: text } text: text who: person # A message typed while it works, taken into that turn at its next step, read from claude # 2.1.303: not a prompt record but a queued_command attachment. A task's notification, queued # the same way, is not the person's. - require: { type: attachment, attachment.type: queued_command, attachment.commandMode: prompt } text: attachment.prompt who: person - require: { type: user } each: message.content item: { type: tool_result } result: { of: tool_use_id, text: content, error: is_error } - require: { type: assistant } each: message.content item: { type: text } text: text who: agent - require: { type: assistant } each: message.content item: { type: tool_use } tool: id: id name: name about: [input.file_path, input.path, input.command, input.pattern, input.url, input.query, input.description] input: input # AskUserQuestion's: its questions, each with the options to choose from. asks: { list: input.questions, question: question, options: options, label: label, description: description, many: multiSelect } hooks: arg: --settings template: '{"hooks":{events}}' events: SessionStart: - hook: tracker - emit: session.started timeout: 10 SessionEnd: emit: session.ended timeout: 10 UserPromptSubmit: emit: turn.started timeout: 10 Stop: hook: turnEnd timeout: 10 StopFailure: - emit: turn.ended outcome: limited matcher: rate_limit timeout: 10 - emit: turn.ended outcome: failed matcher: overloaded|authentication_failed|oauth_org_not_allowed|account_on_hold|billing_error|invalid_request|model_not_found|server_error|max_output_tokens|cloud_credential_error|unknown timeout: 10 # Its hook carries the answer from your other devices, read from claude 2.1.296: it races the # chooser, which is drawn 0.2 s after the hook starts; the first to answer wins. Held up to an hour. PermissionRequest: emit: input.requested kind: permission timeout: 3600 answer: allow: {hookSpecificOutput: {hookEventName: PermissionRequest, decision: {behavior: allow}}} deny: {hookSpecificOutput: {hookEventName: PermissionRequest, decision: {behavior: deny, message: '{message}'}}} # AskUserQuestion's chooser fires it too: the answers go in its input, by question text. choose: {hookSpecificOutput: {hookEventName: PermissionRequest, decision: {behavior: allow, updatedInput: '{input}'}}} asks: {list: questions, question: question, options: options, label: label, description: description, many: multiSelect} chosen: answers # A plan is reviewed by its own hook. leave: [ExitPlanMode] Elicitation: emit: input.requested kind: question timeout: 10 PostToolUse: emit: input.resolved timeout: 10 PostToolUseFailure: emit: input.resolved timeout: 10 PermissionDenied: emit: input.resolved timeout: 10 SubagentStart: emit: subagent.started timeout: 10 SubagentStop: emit: subagent.stopped timeout: 10 PreCompact: emit: compacting.started timeout: 10 PostCompact: emit: compacting.ended timeout: 10 PreToolUse: - hook: planReview matcher: ExitPlanMode timeout: 345600 - hook: approve matcher: supervise when: supervised timeout: 600 assets: - name: hive-turn-end.cjs file: hive-turn-end.cjs hook: turnEnd produces: [turn.ended] - name: hive-plan-review.cjs file: hive-plan-review.cjs hook: planReview - name: hive-approve.cjs file: hive-approve.cjs hook: approve launch: hcp: true # A claude that inherits this marker thinks it is a nested session and saves no transcript, # so it could not be resumed. The app may itself run inside Claude Code. unsetEnv: - CLAUDE_CODE_CHILD_SESSION env: CLAUDE_CODE_FORCE_SESSION_PERSISTENCE: '1' commands: builtIn: - name: "add-dir" description: "Add a working directory for file access during the current session" - name: "advisor" description: "Enable or disable the advisor tool, which consults a second model for guidance at key moments during a task" - name: "agents" description: "Print a reminder to ask Claude to create or manage subagents, or to edit .claude/agents/ or ~/.claude/agents/ directly" - name: "artifact-capabilities" description: "Load the reference for the runtime capabilities a published artifact can use, such as calling your connectors or offering a file download, including which ones your account has" - name: "artifact-diagramming" description: "Load diagramming guidance for Claude to follow in artifacts: when a diagram helps, what to draw, and how to write inline SVG that stays legible in light and dark themes" - name: "artifacts" description: "List the artifacts you own or that are shared with you, then attach one to the session, open it in your browser, or copy its link" - name: "auto-mode-setup" description: "Draft autoMode.environment entries from your project and recent sessions, then review the draft and save it to your user settings" - name: "autocompact" description: "Set the auto-compact window: how full the context window gets before Claude Code compacts automatically" - name: "autofix-pr" description: "Spawn a cloud session that watches the current branch's PR and pushes fixes when CI fails or reviewers leave comments" - name: "background" description: "Detach the current session to run as a background agent and free this terminal" - name: "batch" description: "Orchestrate large-scale changes across a codebase in parallel" - name: "branch" description: "Create a branch of the current conversation at this point, so you can try a different direction without losing the conversation as it stands" - name: "btw" description: "Ask a side question about the current session without adding to the conversation" - name: "bug" description: "Report a bug or share your conversation" - name: "cd" description: "Move this session to a new working directory, keeping the conversation" - name: "chrome" description: "Configure Claude in Chrome settings" - name: "claude-api" description: "Load Claude API and Managed Agents reference material for your project's language" - name: "claude-in-chrome" description: "Have Claude carry out a task in your browser, such as testing a page, filling a form, or reading console logs, through Claude in Chrome" - name: "clear" description: "Start a new conversation with empty context" - name: "code-review" description: "Review the current diff, or a PR number, branch, or path you pass, for correctness bugs" - name: "color" description: "Set the prompt bar color for the current session" - name: "compact" description: "Free up context by summarizing the conversation so far" - name: "config" description: "Open the Settings interface to adjust theme, model, output style, and other preferences" - name: "context" description: "Visualize current context usage as a colored grid" - name: "copy" description: "Copy the last assistant response to clipboard" - name: "cost" description: "Alias for /usage" - name: "dataviz" description: "Design guidance for charts, graphs, and dashboards" - name: "debug" description: "Enable debug logging for the current session and troubleshoot issues by reading the session debug log" - name: "deep-research" description: "Fan out web searches on a question, fetch and cross-check sources, and synthesize a cited report" - name: "design" description: "Draft UI mockups, screen flows, landing pages, or posters as artboards on one canvas, published as a Claude Design artifact, for example /design a settings screen for a mobile banking app" - name: "design-login" description: "Authorize design-system access for /design-sync with your claude.ai account" - name: "design-sync" description: "Convert your repo's React design system and upload it to Claude Design, so designs it produces use your real components" - name: "desktop" description: "Continue the current session in the Claude Code Desktop app" - name: "diff" description: "Review the changes in your working tree, including the edits Claude has made so far" - name: "doctor" description: "Run a setup checkup that diagnoses installation, settings, extension, and CLAUDE.md problems and proposes fixes that Claude applies after you confirm" - name: "effort" description: "Set the effort level: low to xhigh, max, or auto; status prints it" - name: "exit" description: "Exit the CLI. In an attached background session, this detaches and the session keeps running" - name: "export" description: "Export the current conversation as plain text" - name: "fast" description: "Toggle fast mode on or off" - name: "feedback" description: "Send product feedback about Claude Code" - name: "fewer-permission-prompts" description: "Scan your transcripts for common read-only Bash and MCP tool calls, then add a prioritized allowlist to project .claude/settings.json to reduce permission prompts" - name: "focus" description: "Toggle the focus view, which shows only your last prompt, a one-line tool-call summary with edit diffstats, and the final response" - name: "fork" description: "Copy the current conversation into a new background session and keep working here" - name: "goal" description: "Set a goal: Claude keeps working across turns until the condition is met or the goal clears for another reason" - name: "heapdump" description: "Write a JavaScript heap snapshot and a memory breakdown to ~/Desktop, or your home directory on Linux without a Desktop folder, for diagnosing high memory usage" - name: "help" description: "Show help and available commands" - name: "hooks" description: "View hook configurations" - name: "ide" description: "Manage IDE integrations and show status" - name: "import" description: "Bring configuration from OpenAI Codex, Google Gemini CLI, or Cursor on your machine into Claude Code, including instruction files, MCP servers, commands, subagents, and skills" - name: "init" description: "Initialize project with a CLAUDE.md guide" - name: "insights" description: "Generate an HTML report analyzing your recent sessions on this machine: which projects you work in, how you use Claude Code, where things go wrong, and features to try" - name: "install-github-app" description: "Install the Claude GitHub App for a repository, with an optional step to set up GitHub Actions workflows and secrets" - name: "install-slack-app" description: "Install the Claude Slack app" - name: "keybindings" description: "Open your keyboard shortcuts file" - name: "list-agents" description: "List the subagents, agent team teammates, and other Claude Code sessions Claude can message, with the name to use for each" - name: "login" description: "Sign in to your Anthropic account" - name: "logout" description: "Sign out from your Anthropic account" - name: "loop" description: "Run a prompt repeatedly while the session stays open" - name: "mcp" description: "Manage MCP server connections and OAuth authentication" - name: "memory" description: "Edit CLAUDE.md files, enable or disable auto memory, and view auto memory entries" - name: "mobile" description: "Show QR code to download the Claude mobile app" - name: "model" description: "Switch the AI model and save it as your default for new sessions" - name: "output-style" description: "List output styles or switch to one, for example /output-style concise" - name: "passes" description: "Share a free week of Claude Code with friends" - name: "permissions" description: "Manage allow, ask, and deny rules for tool permissions" - name: "plan" description: "Enter plan mode directly from the prompt" - name: "plugin" description: "Manage Claude Code plugins" - name: "plugin-authoring" description: "Load the reference Claude works from to write a mod" - name: "powerup" description: "Discover Claude Code features through quick interactive lessons with animated demos" - name: "privacy-settings" description: "View and update your privacy settings" - name: "radio" description: "Open Claude FM lo-fi radio in your browser" - name: "rate-limit-options" description: "Show ways to keep working when a claude.ai usage limit blocks a request: wait and continue automatically when the limit resets, add usage credits, or upgrade your plan" - name: "recap" description: "Generate a one-line summary of the current session on demand" - name: "release-notes" description: "View the changelog in an interactive version picker" - name: "reload-plugins" description: "Reload all active plugins to apply pending changes without restarting" - name: "reload-skills" description: "Re-scan skill and command directories so skills added or changed on disk during the session become available without restarting" - name: "remote-control" description: "Make this session available for Remote Control from claude.ai" - name: "remote-env" description: "Choose the default cloud environment for cloud sessions you start from the CLI" - name: "rename" description: "Rename the current session and show the name on the prompt bar" - name: "resume" description: "Resume a conversation by ID or name, or open the session picker" - name: "review" description: "Alias of /code-review: reviews the current diff, or a PR number, branch, or path you pass, such as /review 1234, and takes the same effort levels and flags" - name: "rewind" description: "Rewind the conversation and/or code to a previous point, or summarize from a selected message" - name: "run" description: "Launch and drive your project's app to see a change working, not only passing tests" - name: "run-skill-generator" description: "Teach /run and /verify how to build, launch, and drive your project's app from a clean environment by writing a per-project skill" - name: "sandbox" description: "Toggle sandbox mode" - name: "schedule" description: "Create, update, list, or run cloud scheduled tasks, formerly routines" - name: "scroll-speed" description: "Adjust mouse wheel scroll speed interactively" - name: "security-review" description: "Analyze the changes on your current branch for security vulnerabilities" - name: "setup-bedrock" description: "Configure Amazon Bedrock authentication, region, and model pins through an interactive wizard" - name: "setup-vertex" description: "Configure Google Cloud's Agent Platform authentication, project, region, and model pins through an interactive wizard" - name: "simplify" description: "Review the changed code for cleanup opportunities and apply the fixes" - name: "skill-doctor" description: "Show what each of your skills costs in context and how often it gets used, so you can find skills to turn off" - name: "skills" description: "List available skills" - name: "slides" description: "Make a new presentation as a Claude Slides artifact filled from your brief, for example /slides a quarterly review of the platform team" - name: "stats" description: "Alias for /usage" - name: "status" description: "Open the Settings interface on the Status tab, showing version, model, account, and connectivity" - name: "statusline" description: "Configure Claude Code's status line" - name: "stickers" description: "Order Claude Code stickers" - name: "stop" description: "Stop the background session you're attached to, or the one you send it to as a peek reply; the transcript and any worktree are kept" - name: "subtask" description: "Spawn a forked subagent: a background subagent that inherits the full conversation and works on the task while you keep working" - name: "tasks" description: "View and manage background work in the current session, including subagents that have finished" - name: "team-onboarding" description: "Generate a team onboarding guide from your Claude Code usage history" - name: "teleport" description: "Pull a cloud session into this terminal" - name: "terminal-setup" description: "Install a Shift+Enter keybinding for newlines in VS Code, Cursor, Devin Desktop, Alacritty, or Zed" - name: "theme" description: "Change the color theme" - name: "tui" description: "Set the terminal UI renderer and relaunch into it with your conversation intact" - name: "ultraplan" description: "Removed" - name: "ultrareview" description: "Run a deep, multi-agent code review in a cloud sandbox with ultrareview" - name: "update-config" description: "Describe a settings change, such as allowing a command, setting an environment variable, or adding a hook, and Claude edits the matching settings.json file" - name: "upgrade" description: "Open the upgrade page in your browser to switch to a higher plan tier" - name: "usage" description: "Show session cost, plan usage limits, and activity stats" - name: "usage-credits" description: "Configure usage credits, or request them from your admin, when you hit a limit" - name: "verify" description: "Confirm a code change does what it should by building your project's app, running it, and observing the result, rather than relying on tests or type checks" - name: "voice" description: "Toggle voice dictation, or enable it in a specific mode" - name: "web-setup" description: "Connect your GitHub account for cloud sessions using your local gh CLI credentials" - name: "workflow-authoring" description: "Load the reference for writing dynamic workflow scripts: the script API, resume behavior, quality patterns, and worked examples" - name: "workflows" description: "Open the workflow progress view to watch, pause, resume, or save running and completed workflows" folders: - path: "{home}/.claude/commands" - path: "{home}/.claude/skills" skills: true - path: "{folder}/.claude/commands" - path: "{folder}/.claude/skills" skills: true