Files and directories
The macOS column is written and has never been run.
| What | Linux | macOS |
|---|---|---|
| Settings | ~/.config/insensical/config.toml ($XDG_CONFIG_HOME) | the same |
| Your own themes | ~/.config/insensical/themes/<name>.toml | the same |
| Saved layout | ~/.local/state/insensical/state.json ($XDG_STATE_HOME) | ~/Library/Application Support/insensical/state.json |
| What each pane showed when the daemon stopped | ~/.local/state/insensical/screens/<pane number> | ~/Library/Application Support/insensical/screens/<pane number> |
| Agents declined | ~/.local/state/insensical/agents-declined | ~/Library/Application Support/insensical/agents-declined |
| Socket | $XDG_RUNTIME_DIR/insensical/daemon.sock | $TMPDIR/insensical/daemon.sock |
INSENSICAL_CONFIG_DIR replaces the settings directory. INSENSICAL_STATE_DIR replaces the directory for the layout, screens and declined agents. INSENSICAL_SOCKET replaces the socket.
insensical writes these files in other programs' directories, and only when you tell it to. It writes nothing else outside the directories above:
| Agent | File |
|---|---|
| Claude Code | ~/.claude/settings.json, with a copy at settings.json.before-insensical (or under $CLAUDE_CONFIG_DIR) |
| Codex | ~/.codex/hooks.json, with a copy at hooks.json.before-insensical (or under $CODEX_HOME) |
| Gemini CLI | ~/.gemini/settings.json, with a copy at settings.json.before-insensical (or $GEMINI_CLI_HOME/.gemini/) |
| opencode | ~/.config/opencode/plugins/insensical.js (or under $XDG_CONFIG_HOME) |
| pi | ~/.pi/agent/extensions/insensical.ts (or under $PI_CODING_AGENT_DIR) |