Claude Code's Hidden Features: Undocumented, Gated, and Internal Capabilities
A source-based tour of Claude Code's undocumented, gated, and internal features, from hidden flags and slash commands to KAIROS, ULTRAPLAN, swarms, and bridge mode.
Genuinely hidden, gated, or underdocumented capabilities found in the source code — things the public docs don’t cover.
Based on direct source inspection. “Hidden” = hidden from --help, feature-flagged, or dependent on non-public backends. Source presence does not guarantee your build/account has access.
Table of Contents
- 1. Hidden CLI Flags
- 2. Feature-Gated Slash Commands
- 3. The Buddy System — A Full Tamagotchi Pet
- 4. KAIROS — Persistent Autonomous Assistant Mode
- 5. Auto-Dream — Background Memory Consolidation
- 6. Magic Docs — Self-Maintaining Documentation
- 7. ULTRAPLAN — Remote 30-Minute Planning Sessions
- 8. Coordinator Mode — Multi-Agent Swarms
- 9. Speculation — Predictive Response Generation
- 10. The Advisor Model System
- 11. Voice Mode
- 12. Team Memory Sync
- 13. Remote Triggers — Scheduled Cloud Agents
- 14. Direct Connect — cc:// Session URLs
- 15. Bridge Mode & Remote Control
- 16. SSH Remote Execution
- 17. MCP Channels — Inbound Push Notifications
- 18. AFK / Auto-Permission Mode
- 19. Background Sessions (Detached)
- 20. “While You Were Away” Session Recaps
- 21. Tool-Use Summary Generation
- 22. Auto-Memory Extraction
- 23. Prompt Suggestions & Follow-Up Generation
- 24. Deferred Tool Discovery
- 25. Hidden Keybindings
- 26. Lesser-Known Environment Variables
- 27. Lesser-Known Settings Keys
- 28. CLAUDE.md Loading — Hidden Discovery Paths
- 29. Internal-Only Commands
- 30. Build-Time Feature Flags
1. Hidden CLI Flags
These flags are registered with .hideHelp() — they work but won’t appear in claude --help:
| Flag | What It Does |
|---|---|
--teleport |
Upload local git state to a remote Claude Code session on claude.ai |
--remote |
Create a new remote session (comment in code: “undocumented until GA”) |
--remote-control / --rc |
Enter bridge mode — control from claude.ai web UI (requires BRIDGE_MODE) |
--sdk-url |
Connect to a custom SDK URL for direct-connect sessions |
--channels |
Register for MCP inbound push notifications (KAIROS builds) |
--dangerously-load-development-channels |
Bypass MCP channel allowlist |
--enable-auto-mode |
AI classifier-driven auto-permission (requires TRANSCRIPT_CLASSIFIER) |
--advisor <model> |
Attach a secondary reviewer model |
--cowork |
Switch plugin commands to internal cowork marketplace |
--agent-id, --team-name, --teammate-mode, --agent-type |
Swarm identity flags for multi-agent coordination |
Deprecated aliases (still work): --afk and --dangerously-skip-permissions-with-classifiers → map to --enable-auto-mode
Correction: --voice is NOT a CLI flag. Voice is activated via /voice slash command or the voiceEnabled setting. --brief and --proactive are not hidden — they appear in help when their feature flags are on.
2. Feature-Gated Slash Commands
These commands exist but are conditionally registered or hidden:
| Command | What It Does | Gate |
|---|---|---|
/buddy |
Hatch and interact with a Tamagotchi-style AI pet | BUDDY flag + date gate |
/voice |
Toggle hold-to-talk voice dictation | VOICE_MODE + Anthropic OAuth |
/advisor [model\|off] |
Attach/detach a secondary reviewer model | GrowthBook tengu_sage_compass |
/fast [on\|off] |
Toggle fast inference mode | Available when fast mode is supported |
/dream |
Manually trigger memory consolidation | Auto-memory must be enabled |
/brief |
Toggle brief/checkpoint mode | KAIROS or KAIROS_BRIEF |
/ultraplan |
Launch a remote 30-minute planning session | ULTRAPLAN feature flag |
/heapdump |
Dump JavaScript heap to ~/Desktop |
Always registered, hidden |
/thinkback |
2025 Claude Code year-in-review stats | GrowthBook tengu_thinkback |
/remote-control (alias /rc) |
Enter bridge mode | BRIDGE_MODE |
3. The Buddy System — A Full Tamagotchi Pet
A fully implemented virtual companion that lives beside your input box.
Activate: /buddy
- Deterministic generation from your userId via Mulberry32 PRNG — same user = same companion across all devices
- 18 species: duck, goose, blob, cat, dragon, octopus, owl, penguin, turtle, snail, ghost, axolotl, capybara, cactus, robot, rabbit, mushroom, chonk
- 5 rarity tiers: common (60%), uncommon (25%), rare (10%), epic (4%), legendary (1%)
- 6 eye styles, 8 hats (commons get no hat), 1% shiny chance
- 5 stats: DEBUGGING, PATIENCE, CHAOS, WISDOM, SNARK — one peak stat, one dump stat, floors scale with rarity
- Soul generation: On first hatch, Claude generates a unique name and personality, stored permanently
- ASCII sprite animation: 3 frames per species at 500ms tick — idle, fidget, and rare blink frames
- Speech bubbles (10 seconds, 3-second fade) and
/buddy pethearts animation (2.5 seconds) - Anti-cheat: Only the soul persists — bones (species/rarity/stats) are regenerated from userId hash every load
Release window: Teaser April 1-7 2026 (local dates for rolling timezone buzz). Live permanently from April 2026 onward. Always on for internal builds.
4. KAIROS — Persistent Autonomous Assistant Mode
Activate: --assistant flag (feature-gated: KAIROS)
A complete alternate UX where Claude becomes a long-lived autonomous agent persisting across sessions:
- Append-only daily logs at
~/.claude/projects/<slug>/memory/logs/YYYY/MM/YYYY-MM-DD.md - 15-second blocking budget — any command exceeding 15s is auto-backgrounded
- Proactive
<tick>prompts — periodic check-ins where Claude decides what to do next or callsSleep - Brief mode — all output through
SendUserMessagetool (structured markdown + attachments + status), not free-form text - Exclusive tools:
SendUserFile,PushNotification,SubscribePR(GitHub webhook subscriptions),SleepTool - Midnight boundary handling — flushes transcript on date change so the dream process can find it
- Nightly dreaming uses a separate disk-skill variant (distinct from the auto-dream system below)
5. Auto-Dream — Background Memory Consolidation
Runs automatically in the background — no user action needed.
A forked subagent reviews your recent sessions and consolidates learnings into structured memory files.
4-phase process:
- Orient —
lsmemory dir, read index, skim existing topics - Gather — Check daily logs, find drifted memories, grep transcripts narrowly
- Consolidate — Write/update memory files, merge duplicates, convert relative dates to absolute
- Prune — Update MEMORY.md index (max ~25KB), remove stale pointers
Gates (cheapest checks first):
- Time: 24+ hours since last consolidation
- Sessions: 5+ sessions since last consolidation
- Lock: no other process mid-consolidation
- Scan throttle: session scanning limited to every 10 minutes
Safety: Bash restricted to read-only commands. Users can kill from the background tasks dialog (Shift+Down).
User control: autoDreamEnabled setting overrides the GrowthBook gate tengu_onyx_plover.
6. Magic Docs — Self-Maintaining Documentation
Files with a # MAGIC DOC: <title> first line are automatically updated by a background agent.
How to use:
- Create a markdown file with
# MAGIC DOC: My Topicas the first line - Optionally add italic instructions on the next line
- Make sure Claude reads that file during a session
- A constrained background agent will update it with new learnings
The agent can only edit that specific file — it cannot modify other files. This is triggered by file format, not a command.
7. ULTRAPLAN — Remote 30-Minute Planning Sessions
Activate: Type “ultraplan” in your message (keyword detection) or use /ultraplan
Farms out complex exploration to a remote Claude Code instance (CCR):
- Remote session created with plan mode pre-configured
- CLI polls every 3 seconds for up to 30 minutes
- Remote Claude explores, plans, and calls
ExitPlanModewhen ready - You approve or reject the plan in the browser (claude.ai)
- Rejected plans loop back for iteration
- On approval: choose “remote” (execute in cloud) or “teleport to terminal” (execute locally)
Smart keyword detection avoids false positives — skips occurrences inside quotes, paths, identifiers, and questions.
8. Coordinator Mode — Multi-Agent Swarms
Activate: CLAUDE_CODE_COORDINATOR_MODE=1
Transforms Claude into a multi-agent orchestrator:
- Master coordinator spawns workers via
AgentToolin parallel - Workers report back as XML
<task-notification>messages with status, summary, result, and token usage - Coordinator never polls — push-based completion notifications
- Workers get isolated scratch directories (via
tengu_scratchgate) for cross-worker knowledge - System prompt enforces: “Never write ‘based on your findings’ — synthesize yourself”
- 4-phase workflow: Research (parallel) → Synthesis (coordinator) → Implementation → Verification
- Explicit continue-vs-spawn guidance based on context overlap
9. Speculation — Predictive Response Generation
While you’re still typing, Claude Code speculatively starts generating a response.
- File writes go to an overlay filesystem (not your real files)
- If your actual input matches the speculation boundary → overlay committed instantly
- If it doesn’t match → discarded silently
- Feature gate:
tengu_chomp_inflection(GrowthBook) - Result: noticeably lower perceived latency for predictable follow-ups
10. The Advisor Model System
Activate: /advisor <model> or --advisor <model>
Attaches a secondary reviewer/advisor model as a server-side tool:
- Main model (e.g., Sonnet) can call a stronger model (e.g., Opus) for review
- Full conversation history is forwarded when the advisor is invoked
- Beta header:
advisor-tool-2026-03-01 - Does NOT work on Bedrock/Vertex (they don’t support the advisor beta header)
- Disable with
/advisor offorCLAUDE_CODE_DISABLE_ADVISOR_TOOL - GrowthBook gate:
tengu_sage_compass
11. Voice Mode
Activate: /voice slash command or voiceEnabled setting
- Hold-to-talk dictation (default keybinding: hold
space) - Requires Anthropic OAuth — not available with API keys, Bedrock, or Vertex
- Uses the
voice_streamendpoint on claude.ai - Multiple audio backends: native audio, SoX,
arecord - Protected by GrowthBook kill-switch (
tengu_amber_quartz_disabled) for emergency off
12. Team Memory Sync
Feature-gated: TEAMMEM
Memories split into private (per-user) and team (shared) directories:
- Team memory synced to server APIs across authenticated org members
- Secret scanning prevents leaking sensitive data into shared memory
- Optimistic locking for conflict resolution
- Team memory lives at
.../memory/team/MEMORY.md - Requires first-party OAuth and org-scoped server APIs
13. Remote Triggers — Scheduled Cloud Agents
Tool: RemoteTrigger (deferred, discovered via ToolSearchTool)
Create and manage scheduled remote Claude Code agents via CCR API:
create— Schedule a trigger with cron expressionlist/get— View triggersupdate— Modify a triggerrun— Manually fire a trigger
Requires Claude.ai OAuth. Feature gate: tengu_surreal_dali. Beta: ccr-triggers-2026-01-30.
14. Direct Connect — cc:// Session URLs
Activate: claude server (when DIRECT_CONNECT is enabled)
Creates shareable session URLs that external clients can connect to:
- WebSocket-based protocol with SDK message format
- Permission requests forwarded to connecting client
- Supports interrupt/cancel signals
claude open cc://...connects to an existing session (described as internal)- Enables custom IDE integrations and frontends
15. Bridge Mode & Remote Control
Activate: --remote-control / --rc (when BRIDGE_MODE compiled in)
Persistent WebSocket connection between local CLI and claude.ai web interface:
- Use Claude Code from a browser while tools execute locally
- Exponential backoff reconnection (2s → 2min cap → 10min give-up)
- JWT token refresh, trusted device enrollment
- Permission request mediation between web UI and local CLI
- 31 files in the bridge subsystem — essentially a full RPC framework
Related settings:
remoteControlAtStartup— auto-start bridgetaskCompleteNotifEnabled,inputNeededNotifEnabled,agentPushNotifEnabled— push notification controls
16. SSH Remote Execution
Activate: claude ssh <host> [dir] (when SSH_REMOTE is enabled)
- Deploys Claude Code binary to a remote Linux host over SSH
- API auth tunnels back through the local machine — no separate remote auth setup
- Build-time feature-gated
17. MCP Channels — Inbound Push Notifications
Activate: --channels plugin:name@marketplace
Register sessions for real-time event delivery from approved MCP servers/plugins:
- Allowlist controlled by GrowthBook
--dangerously-load-development-channelsbypasses the allowlist- Enables event-driven workflows (e.g., GitHub events, CI notifications)
18. AFK / Auto-Permission Mode
Activate: --enable-auto-mode (hidden flag, requires TRANSCRIPT_CLASSIFIER)
Classifier-assisted automatic permission decisions when the user is away:
- AI model evaluates each permission request based on conversation context
- Beta header:
afk-mode-2026-01-31 - Deprecated aliases:
--afk,--dangerously-skip-permissions-with-classifiers - Designed for unattended, long-running agent workflows
19. Background Sessions (Detached)
Feature-gated: BG_SESSIONS
Run Claude Code sessions in the background with management commands:
claude --bg/claude --background— Start a detached sessionclaude ps— List running background sessionsclaude logs <id>— View session logsclaude attach <id>— Reattach to a sessionclaude kill <id>— Stop a session
20. “While You Were Away” Session Recaps
When you return to a session after being away, Claude can generate a short recap card summarizing what happened.
- Implemented in
services/awaySummary.ts - Produces short re-entry summaries automatically
- UI-side feature, not a slash command
21. Tool-Use Summary Generation
For SDK/mobile surfaces, raw tool batches are automatically converted into compact high-level progress summaries:
- Implemented in
services/toolUseSummary/toolUseSummaryGenerator.ts - Generates short labels for completed tool batches
- Used by SDK to provide progress updates to clients and mobile-like single-line rows
22. Auto-Memory Extraction
A background agent automatically extracts memories from your conversations:
- Runs at end of each complete query loop (when
EXTRACT_MEMORIESis enabled) - Uses a forked agent that shares the prompt cache
- Scans existing memory files first to avoid duplicates
- When the main agent writes memories directly, the background extractor skips that range
- Writes to
~/.claude/projects/<path>/memory/ - Auto-memory is enabled by default unless disabled via
CLAUDE_CODE_DISABLE_AUTO_MEMORY,--bare, or settings
23. Prompt Suggestions & Follow-Up Generation
Activate: CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=1
After Claude finishes a response, it can suggest what to ask next:
- Feature gate:
tengu_chomp_inflection(GrowthBook) - Env var can force on/off, otherwise GrowthBook + interactive-session checks apply
- Tied to the speculation system — may pre-generate the speculative response too
24. Deferred Tool Discovery
~18 of Claude Code’s 60+ tools are not sent to the model in every request. They’re discovered on-demand:
- Model calls
ToolSearchToolwith a keyword query - Matching deferred tools’ schemas are returned
- Model calls the discovered tool in the same turn
Query syntax:
select:TaskCreate,LSP— Direct selection by nametask create— Keyword search against names, descriptions, and hints+slack send— Require “slack” in tool name
Why it matters: Keeps the base prompt under 200K tokens. Without this, 60+ tool schemas would consume too much context.
25. Hidden Keybindings
Feature-gated keybindings that only appear when their features are enabled:
| Key Combo | Action | Gate |
|---|---|---|
Space (hold) |
Push-to-talk voice input | VOICE_MODE |
Ctrl+Shift+B |
Toggle Brief mode | KAIROS / KAIROS_BRIEF |
Ctrl+Shift+F / Cmd+Shift+F |
Global search | QUICK_SEARCH |
Ctrl+Shift+P / Cmd+Shift+P |
Quick open | QUICK_SEARCH |
Meta+J |
Toggle terminal panel | TERMINAL_PANEL |
Shift+Up |
Message actions menu | MESSAGE_ACTIONS |
Ctrl+Shift+O |
Toggle teammate preview | Teams enabled |
Always-available but often unknown:
| Key Combo | Action |
|---|---|
Ctrl+X Ctrl+K |
Kill all running agents |
Ctrl+_ or Ctrl+Shift+- |
Undo |
Ctrl+X Ctrl+E or Ctrl+G |
Open external editor |
Ctrl+S |
Stash current input |
Meta+P |
Model picker |
Meta+O |
Fast mode toggle |
Meta+T |
Thinking mode toggle |
Ctrl+E |
Toggle permission explanation (in confirmation dialog) |
Ctrl+D |
Toggle permission debug info (in confirmation dialog) |
All keybindings are overridable via ~/.claude/keybindings.json.
26. Lesser-Known Environment Variables
Debug & profiling:
| Variable | Purpose |
|---|---|
CLAUDE_CODE_PROFILE_STARTUP=1 |
Full startup profiling with memory snapshots |
CLAUDE_CODE_PROFILE_QUERY=1 |
Profile query pipeline timing |
CLAUDE_CODE_DEBUG_REPAINTS=1 |
Show component owner chain for every terminal repaint |
CLAUDE_CODE_PERFETTO_TRACE |
Enable Perfetto tracing format |
CLAUDE_CODE_TERMINAL_RECORDING |
Record terminal in asciinema format |
CLAUDE_CODE_COMMIT_LOG=/path |
Log slow renders for profiling |
Behavioral overrides:
| Variable | Purpose |
|---|---|
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC |
Disable ALL non-essential network traffic (most restrictive privacy) |
CLAUDE_CODE_DISABLE_AUTO_MEMORY |
Disable automatic memory management |
CLAUDE_CODE_DISABLE_CRON |
Disable cron job scheduler |
CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING |
Disable file snapshot backups |
CLAUDE_CODE_DISABLE_ADVISOR_TOOL |
Disable advisor model |
CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION |
Enable speculative next-prompt suggestions |
CLAUDE_CODE_MAX_OUTPUT_TOKENS |
Override max output tokens per response |
CLAUDE_CODE_MAX_CONTEXT_TOKENS |
Override max context window |
CLAUDE_CODE_EFFORT_LEVEL |
Set effort: low\|medium\|high\|max\|auto |
CLAUDE_CODE_COORDINATOR_MODE=1 |
Enable coordinator mode |
CLAUDE_CODE_SIMPLE |
Same as --bare — skip hooks, LSP, plugins, background tasks |
CLAUDE_CONFIG_DIR |
Override ~/.claude config directory |
CLAUDE_ENV_FILE |
Path to env file to source on startup |
Provider switching:
| Variable | Purpose |
|---|---|
CLAUDE_CODE_USE_BEDROCK=1 |
Use AWS Bedrock |
CLAUDE_CODE_USE_VERTEX=1 |
Use Google Vertex AI |
CLAUDE_CODE_USE_FOUNDRY=1 |
Use Azure Foundry |
CLAUDE_CODE_CLIENT_CERT / CLAUDE_CODE_CLIENT_KEY |
mTLS client certificates |
Prompt caching control:
| Variable | Purpose |
|---|---|
DISABLE_PROMPT_CACHING |
Disable globally |
DISABLE_PROMPT_CACHING_HAIKU / _SONNET / _OPUS |
Disable per model |
DISABLE_INTERLEAVED_THINKING |
Disable thinking blocks |
27. Lesser-Known Settings Keys
In ~/.claude/settings.json — things most people don’t know you can set:
| Key | What It Does |
|---|---|
apiKeyHelper |
External command to fetch API key (e.g., 1password read op://vault/key) |
awsCredentialExport |
Command to export AWS credentials for Bedrock |
env |
Arbitrary environment variables injected into every session |
effortLevel |
Default effort level: low\|medium\|high\|max\|auto |
alwaysThinkingEnabled |
Force extended thinking on every request |
spinnerVerbs |
Custom spinner verb list |
spinnerTipsOverride |
Custom tip messages during spinner |
worktree.symlinkDirectories |
Directories to symlink in worktrees (saves disk) |
worktree.sparsePaths |
Git sparse-checkout paths for monorepo worktrees |
autoMemoryDirectory |
Custom path for memory storage |
autoDreamEnabled |
Enable/disable auto-dream consolidation |
minSleepDurationMs |
Minimum SleepTool duration |
skipWebFetchPreflight |
Skip WebFetch URL validation |
disableBypassPermissionsMode |
Prevent entering bypass mode |
allowManagedPermissionRulesOnly |
Enterprise: only admin-defined permission rules |
allowManagedMcpServersOnly |
Enterprise: only admin-defined MCP servers |
allowManagedHooksOnly |
Enterprise: only admin-defined hooks |
allowedHttpHookUrls |
URL allowlist for HTTP hooks |
httpHookAllowedEnvVars |
Env vars HTTP hooks can interpolate |
remote.defaultEnvironmentId |
Default remote environment for CCR |
minimumVersion |
Enforce minimum Claude Code version |
28. CLAUDE.md Loading — Hidden Discovery Paths
Beyond the standard project CLAUDE.md, Claude Code loads instructions from:
~/.claude/CLAUDE.md— User-level global instructions- Parent directories up to git root — all CLAUDE.md files in parent dirs are included
.claude/CLAUDE.md— Inside the.claudedirectory.claude/rules/*.md— Per-project rule files (all.mdfiles in this directory)@include-style references inside memory files
29. Internal-Only Commands
Registered only when USER_TYPE === 'ant' — not in public builds:
backfill-sessions, break-cache, bughunter, ctx_viz, good-claude, init-verifiers, force-snip, mock-limits, bridge-kick, subscribe-pr, reset-limits, share, ant-trace, perf-issue, env, oauth-refresh, debug-tool-call, agents-platform, autofix-pr, onboarding
30. Build-Time Feature Flags
Compile-time flags via feature() from bun:bundle. When off, code is eliminated entirely from the binary:
| Flag | Feature |
|---|---|
COORDINATOR_MODE |
Multi-agent coordinator |
VOICE_MODE |
Voice input |
KAIROS / KAIROS_BRIEF |
Persistent assistant mode |
PROACTIVE |
Autonomous mode |
BRIDGE_MODE |
Remote control bridge |
SSH_REMOTE |
SSH remote execution |
DIRECT_CONNECT |
cc:// URL handling |
BG_SESSIONS |
Background sessions |
TEMPLATES |
Template/new/reply flows |
TEAMMEM |
Team memory sync |
TRANSCRIPT_CLASSIFIER |
AI permission classification |
BUDDY |
Tamagotchi pet |
ULTRAPLAN |
Remote planning |
EXTRACT_MEMORIES |
Auto-memory extraction |
WORKFLOW_SCRIPTS |
Workflow automation |
QUICK_SEARCH |
Quick search (Ctrl+Shift+F) |
TERMINAL_PANEL |
Terminal panel (Meta+J) |
MESSAGE_ACTIONS |
Message action menu (Shift+Up) |
CONTEXT_COLLAPSE |
Context collapse optimization |
HISTORY_SNIP |
History snipping |
MCP_SKILLS |
MCP skill discovery |
DAEMON |
Long-running daemon |
Compiled from static analysis of the Claude Code source. Corrections applied from the audited version. Features behind flags may not be in your build.