reference
reference
Where things live, and what the knobs are.
settings.json
~/.micro-cc/settings.json. Edit it by hand or ask
/setup. A key missing from an older install is filled in with
its default on first read.
- dangerous
- tool names gated behind an approval prompt
- model
- the endpoint currently in use, written by every /login path
- tokens_budget
- the context budget the loop trims against
- max_subagents
- how many headless subagents one session may run at once
environment variables
- MICROCC_BASH_ENV_DENYLIST
- extra variable names stripped from the environment handed to bash_ source
- MICROCC_CALLER_PROJECT_DIR
- internal: set by bash_ so a headless run can register with the session that spawned it source
- MICROCC_FIRST_EVENT_TIMEOUT
- how long a headless run waits for the model's first event before giving up source
- MICROCC_HEADLESS_VERDICT_FD
- internal: the pipe a spawned headless run uses to report whether it came up source
- MICRO_CC_MIRROR_POSTGRES_URL
- source
- MICRO_CC_POSTGRES_URL
- set it and every message, memory and settings read or write routes to Postgres instead of local JSON source
- MICRO_CC_TRIM_BUDGET
- overrides the context budget the loop trims against, on every backend source
~/.micro-cc/
Everything durable lives here, outside the package, so it survives
/update and any self-edit. pip never installs into
it. Built-in defaults stay in the package and the files you add here are merged
over them, by name, at runtime.
- settings.json
- model, dangerous tools, budgets
- models.json
- your own model entries; merged over the remote catalog and the built-in table
- memory.json
- the keyed memory, global tier
- theme.json
- colours for the terminal surface; yours, not the package's
- statusline.sh
- the status line, run as a script; whatever it prints is used verbatim
- .env
- shared secrets for bash_
- commands/
- your slash commands:
name.mdis a prompt,name.pyis code - renderers/
- override how a message type or a tool call is drawn
- panels/
- lines in the header, or above the input
- glyphs.json
- the glyph and label for each message type
- keys.json
- a key mapped to a slash command or an action
- banner.txt
- the wordmark
- skills/
- global skills, one directory each
- mcps/
- globally registered MCP servers
- projects/{name}_{hash}/
- per-project conversation, memory, tracked subagents, inbox
- sessions/
- the live-session registry used by message-session
- self_heal_state.json
- the supervisor's consecutive boot-failure count
- cache/
- the harness's own scratch: the remote model catalog, and the built-in status line it falls back to
source: src/micro_cc/utils/msg_store_.py
the package
Resolve it with
python3 -c "import micro_cc, os; print(os.path.dirname(micro_cc.__file__))",
then read any of it.
- browser/
- the browser driver behind the browser tool
- cache/
- local caches
- models/
- provider adapters and the model registry
- postgres_store/
- optional Postgres backend for messages, memory and settings
- skills/
- bundled skills
- tools/
- every tool, one file each
- tui_native/
- the terminal UI
- utils/
- storage, prompt assembly, settings, command registry, the reload poll
- webui/
- the browser surface and its server
- claude_loop_.py
- the agent loop: builds the system prompt, assembles tools, consumes the event stream
- execute_tool.py
- tool dispatch
- self_heal_.py
- the boot supervisor: reinstalls the published wheel if an edit breaks startup
- start_headless_.py
- the one-shot headless entry point
- start_live_tui_.py
- the interactive entry point and the self-reload poll
built 2026-10-04 from microcc@6501e4a · v0.2.103 · llms.txt