Files
claude-hidden-toolkit/tool-catalog/hidden-tools/feature-flags-and-codenames.md
T
DMontgomery40 efbb13827b Add tool-catalog: 24 hidden tools from desktop app binary analysis
Documents 24 tools found in Claude.app binary (app.asar/index.js) that are
not listed in the deferred tools system-reminder. Organized into 7 categories:

- Widget Tools (2): inline SVG/HTML rendering via @ant/imagine-server
- Preview Tools (13): dev server and browser preview in code tasks
- Computer Use (1, 13 actions): desktop automation via screenshot-then-act
- Terminal & Roots (2): IDE-plugin-only terminal reader and MCP roots
- Office Add-in (5): Excel/Word/PowerPoint integration via Claude add-in
- Conversation (1): internal compaction service, not user-callable
- Feature Flags & Codenames: flags, codenames, Swift APIs, config keys

Each tool includes verification status (CONFIRMED/NOT FOUND/UNTESTED),
parameter schemas, and session-type availability matrix.

Tone cleanup: removed speculative language per CLAUDE.md style guide.
States facts from binary analysis, marks unverified claims explicitly.
2026-03-19 19:27:18 -06:00

9.8 KiB
Raw Blame History

Feature Flags & Internal Codenames

Feature flags, internal codenames, Swift native APIs, configuration keys, and other internals found in the Claude.app binary.

Source: Static analysis of index.js extracted from app.asar Last updated: 2026-03-19


Table of Contents

  1. Feature Flags
  2. Internal Codenames
  3. Swift Native APIs
  4. Configuration Keys
  5. The Clod Avatar
  6. Apple App References

Feature Flags

Boolean switches (default false) that gate unreleased or experimental functionality.

Extensions & Developer Tools

Flag Default Description
isDxtEnabled false Load browser extensions in app. DXT = Desktop Extension, Anthropic's extension format for the desktop client.
isDxtDirectoryEnabled false Enables a browsable extensions directory UI. Separate from isDxtEnabled, suggesting a phased rollout (sideloading first, then directory).
isLocalDevMcpEnabled false Allows local development MCP servers to connect to the app. For developers building custom integrations.
isUvSystemPythonEnabled false Use the system-installed Python for UV runtime extensions instead of a managed installation.

Prototypes & Experiments

Flag Default Description
isSparkleHedgehogEnabled false Activates the sparkleHedgehog prototype. See codenames below.
isMidnightOwlEnabled false Activates the midnightOwl prototype. Has a corresponding setEnabled() Swift native API method, indicating macOS system-level integration beyond the web layer.
isPhoenixRisingAgainEnabled false Debug override for a new auto-updater system. The "Again" suffix indicates this replaces a previous updater.
isChicagoEnabled false Forces chicago_config.enabled and teachModeEnabled to true regardless of GrowthBook remote config. Requires restart.

Internal Codenames

Anthropic uses an adjective+animal naming convention for internal prototypes (with one geographic exception). Each codename has its own configuration keys in the app's settings store.

sparkleHedgehog

Key Default Type
sparkleHedgehogAppearance "default" string
sparkleHedgehogScale 1 number

Has an appearance setting (implying multiple appearances) and a scale factor. The keys are consistent with a UI appearance/theme system or a visual element with configurable size and style.

plushRaccoon

Key Default Type
plushRaccoonEnabled bool
plushRaccoonOption1 "off" string
plushRaccoonOption2 "off" string
plushRaccoonOption3 "off" string

Three independently togglable sub-options, all defaulting to "off" as strings (not booleans), suggesting they may have more states than just on/off. Purpose not determined from binary analysis alone.

quietPenguin

Key Default Type
quietPenguinEnabled bool

Single on/off toggle. Name suggests notification suppression or a do-not-disturb mode.

louderPenguin

Key Default Type
louderPenguinEnabled bool

Counterpart to quietPenguin. Same structure. Name suggests enhanced notifications or more aggressive alerting. These two form a notification spectrum: quiet ← normal → louder.

chillingSloth

Key Default Type
chillingSlothLocation "default" string

A location setting with a "default" value. Consistent with an idle-state behavior or ambient UI element that can appear in different positions (toolbar, menu bar, floating overlay, system tray, etc.).

midnightOwl

Key Type
Feature flag: isMidnightOwlEnabled bool
Swift API: midnightOwl.setEnabled() method

Has both a feature flag and a Swift native API setEnabled() method through @ant/claude-swift, meaning it hooks into macOS at the system level. The "midnight" prefix and native integration are consistent with scheduled background tasks or time-based automation. The existence of coworkScheduledTasksEnabled and ccdScheduledTasksEnabled config keys (both false) suggests scheduled task infrastructure exists in the app.

floatingAtoll

Key Default Type
floatingAtollActive bool
(dimensions) 320 × 54 px hardcoded
(offset) 12 px hardcoded

A floating UI element with hardcoded pixel dimensions: 320px wide, 54px tall, with a 12px offset. This is the quick-access floating bar — visible to users in Cowork sessions. The naming parallels Apple's Dynamic Island ("atoll" = ring-shaped island). At 320×54px it fits a slim toolbar or single-line input. Corresponds to the quickAccess Swift native API.

chicago

Key Default Type
chicagoEnabled bool
chicagoAutoUnhide bool
chicagoUserDeniedBundleIds string[]
Feature flag: isChicagoEnabled false bool (overrides GrowthBook)
Related: teachModeEnabled bool

The most well-documented codename and the only one that breaks the animal naming convention. This is the interactive teach mode / guided walkthrough system (see computer-use-tools.md for the teach mode tools). chicagoUserDeniedBundleIds tracks which macOS applications the user has declined to grant Claude access to during walkthroughs.


Swift Native APIs (@ant/claude-swift)

The @ant/claude-swift module is a native addon bridging Claude's Electron UI with macOS system capabilities.

API Namespace Purpose
quickAccess Floating quick-access panel. System-level window management for the always-available Claude input (floatingAtoll).
notifications macOS native notification delivery via Notification Center.
desktop Desktop environment integration — window positioning, display detection.
api Direct API communication layer for authenticated requests to Anthropic's backend.
midnightOwl Native hook for the midnightOwl prototype. Exposes setEnabled().
vm Virtual machine management — isRunning, isGuestConnected. Handles lifecycle for Cowork's Linux VMs.
hotkey Global keyboard shortcut registration. Works even when the app isn't focused.
permissionFixer macOS permission remediation. Guides users through granting accessibility, screen recording, or automation permissions.
computerUse Computer use capability bindings — screen reading, mouse/keyboard control, GUI automation. Separate SPM product, computer_use.node, nest builds only.

Configuration Keys

Additional configuration keys found in the app's settings store.

Security & Permissions

Key Default Notes
secureVmFeaturesEnabled true VM sandboxing — Claude's compute runs in isolation
bypassPermissionsModeEnabled false Skip permission checks. Dev-only.
autoPermissionsModeEnabled false Auto-grant permissions without user confirmation. Dev-only.
allowAllBrowserActions false Unrestricted browser automation
dispatchTrustedCodeWorkspaces [] Folders where code execution is trusted without confirmation
localAgentModeTrustedFolders [] Folders trusted for local agent operations

Launch & Session

Key Default Notes
launchEnabled true Whether the app is allowed to launch
launchPreviewPersistSession false Persist preview sessions across app restarts

Capabilities

Key Default Notes
coworkWebSearchEnabled true Web search in Cowork mode
coworkScheduledTasksEnabled false Scheduled/recurring tasks in Cowork
ccdScheduledTasksEnabled false Scheduled tasks in Claude Code Desktop
keepAwakeEnabled false Prevent system sleep while Claude is working
dockBounceEnabled false Bounce Claude's dock icon for attention

The Clod Avatar

default.clod is a zip archive found in the app binary containing assets for an alternative AI persona:

File Contents
personality.txt Persona definition ("You are Clod, a minimalist AI assistant...")
cursor.png Custom mouse cursor graphic
idling_0.png, idling_1.png, idling_2.png Idle animation frames
working_0.png, working_1.png, working_2.png, working_3.png Working animation frames
celebrating_0.png, celebrating_1.png Success animation frames
error_0.png Error state

"Clod" is a play on "Claude." The .clod format is a self-contained avatar package: personality definition plus sprite sheets for different states (idle, working, celebrating, error). The working animation has multiple frames for a looping animation during processing.

This may connect to sparkleHedgehog — the appearance and scale settings could control which .clod avatar is active and how large it renders. The .clod format being a zip archive means custom avatar packs could be created and distributed.


Apple App References

String references found in index.js suggesting planned or gated native integrations:

Calendar, Reminders, Notes, Contacts, Photos, Health, Maps, Safari, Shortcuts, Music, Freeform, Focus

No tool registration patterns (name + inputSchema) were found for any of these in the current binary. These are string references only — they may represent planned integrations, configuration labels, or permission identifiers rather than functional tool implementations.