Configuration

Settings live in the OS user configuration directory. acc config path prints it and acc config locations lists the whole folder.

acc config show                  # print effective settings
acc config set wake-code 29      # change one setting
acc config set idle-seconds 120
acc config set microphone "Microphone device name"
acc config export portable.json  # portable preferences only
acc config import portable.json  # merge into this profile

Two files: portable and device-local

Accessor splits settings so preferences can move between machines without dragging device details along.

File Holds Travels?
config.json Wake, harnesses, TTS, routing, volumes, prompts Yes — config export writes only this subset
device.json Microphone, assets-dir / codex-bin, CPU tuning (stt.threads, stt.spin, stt.lazy, stt.engine), calibrated stt.noise_floor_db No — stays with the machine

acc config export FILE writes the portable subset; acc config import FILE merges it into the current profile and keeps the target’s device settings. Copying the whole folder also works but carries device.json; delete it on the new machine or import instead.

ACC_HOME selects a different settings/event directory, and ACC_ASSETS selects a model/runtime directory. Credentials are never stored in config.json; they go in the OS credential store (Cartesia, Jev/TypeSafe, journal key).

In the dashboard

/settings opens a category menu (Voice, Speech, Harnesses, Display, Metaprompt, Tests, Security, Computer). Arrow keys move, Enter opens or toggles, Esc goes up a level. Changes persist and apply immediately. Typed /settings KEY VALUE still works for scripts. The status bar always shows the live harness · model.

Wake, timeout, speech, and voice changes take effect immediately. Microphone changes reconnect in the background; /mic reconnect retries immediately. Asset path and Codex executable changes require a restart.

Key settings

Conversation

Key Default Meaning
wake-code 29 The spoken wake word
idle-seconds 120 Seconds of idle before sleep; 0 disables auto-sleep
barge-in on Allow follow-ups without repeating the wake word
microphone system default Input device name (acc devices)
event-owner unset Reply allowlist for incoming-event answers

Speech recognition

Key Default Meaning
stt.conversation local local or cartesia after wake
stt.engine canary canary, parakeet, whisper-tiny, whisper-base, whisper-small
stt.endpoint-ms 600 Silence before a clip is decoded
stt.streaming on Cartesia streaming upload (only with stt.conversation=cartesia)
stt.threads / stt.spin two / off CPU tuning for local decoding
stt.noise-gate on Room-noise gate
stt.noise-floor-db learned Calibrated ambient floor
stt.denoise highpass 70 Hz rumble filter

Speech output

Key Default Meaning
tts.provider piper piper, kokoro, system, cartesia, off
tts.piper-voice en_GB-alan-medium Piper voice name
tts.local-voice bm_lewis Kokoro voice
tts.model sonic-3 Cartesia model
tts.voice Classy British Man Cartesia voice by name or id
tts.speed 1.1 0.6–2.5 (Cartesia clamped to 1.5)
tts.volume 1.0 0–1.5
tts.streaming on Stream Cartesia PCM while synthesizing
sounds.wake / .sleep / .think / .alarm / .ready / .notify varied Per-cue volumes, 0–1.5

Harnesses and routing

Key Default Meaning
routing.main codex Main conversation harness
routing.main-model harness light model Model for main
routing.reasoning default default, low, medium, high
routing.coding / model — Coding role harness and model
agent / routing.plugin-model follows main Plugin role
routing.plugin-use-main on Inherit main for the plugin slot
routing.coordinator on Lightweight coordinator owns the conversation
routing.fast-mode off Best-effort low-latency path
routing.compaction-model — Model used to compact history and infer memories

Memory, logging, and security

Key Default Meaning
memory.capture on Capture durable facts off the hot path
logging.enabled off Write the master log
logging.level info info or debug
logging.max-mb 16 Rotate at this size
logging.path logs/accessor.log Override the log location
security.spoken-unlock on Allow spoken unlock
security.lock-seconds 3600 Absolute auto-lock deadline, 1–86400
computer.enabled off Expose the MCP computer tool
computer.max-image-dimension 1280 Longest screenshot edge

The metaprompt, master-log settings, memory.capture, and security settings are deliberately not agent-editable over MCP. After-wake STT provider/streaming are also user-only, so a prompt-injected agent cannot move microphone audio to the cloud.

Ask the agent to change a setting

An agent can call the MCP settings_read / settings_update tools for supported preferences:

{"changes":{"tts.speed":1.2,"tts.volume":0.7,"sounds.think":0.3}}

The patch is validated before anything is saved; the live session receives a receipt. Harness/model/reasoning changes affect the next turn and leave the current caller running.