Claude Code's Hidden Features: Undocumented, Gated, and Internal Capabilities
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.