Skip to content

History / Troubleshooting

Revisions

  • docs: document reverse_shell_one_liners knob and one-liner detection change (#842/#846) - Security-Monitoring: split reverse-shell threats into unambiguous vs interpreter one-liner classes; add 'Interpreter one-liner policy' section documenting reverse_shell_one_liners (critical|warn|off) and the network- indicator gate; add the key to the full config block. - Troubleshooting: note that benign interpreter one-liners no longer kill the container, and how to downgrade the class instead of disabling auto-kill. - Configuration: add reverse_shell_one_liners to the [monitoring] reference.

    @mensfeld mensfeld committed Sep 30, 2026
  • docs: align wiki to the Karafka writing style Style-only pass across 39 pages: reduce decorative bold to scannable labels and callouts, Title Case headings, expand contractions, present tense, US English, cut filler and --- separators, tag code fences. Commands, code, config, COI_* env vars, paths, URLs, wiki links/anchors, and tables left unchanged.

    @mensfeld mensfeld committed Sep 30, 2026
  • docs: rebrand to Coi (drop all-caps COI; Coi primary, coi command) COI -> Coi across all pages; sidebar + Home first-mention use "Coi (Code on Incus)". Preserved: COI_* env-var names and the literal "# COI Sandbox ..." context markers (they document the actual on-disk marker text). Lowercase coi commands unchanged.

    @mensfeld mensfeld committed Sep 29, 2026
  • Document 0.12 tool-switching, headless prompt runs, and config/profile mount + env_command_timeout symmetry - Container Lifecycle: new 'Running a different AI tool in the same container' section (shared session_name across two per-tool profiles; first-switch credential seeding) (#708) - Headless Orchestration: new 'Fire-and-forget prompt runs' section covering coi run --prompt / --prompt-file / --prompt-name and the [prompts] registry (trusted-scope only) with a cron example (#701) - Profiles/Configuration: correct the now-false 'profiles use [[mounts]], config uses [[mounts.default]]' note — both shapes work in both scopes; document env_command_timeout as profile-settable (#783) - Configuration: [prompts] stub + capability rows; note coi build works in any [incus] project (#777) - Troubleshooting: kitty/xterm-* 'unsuitable terminal' is handled automatically (#772) - Migration Guide + Supported Tools: surface tool-switching and headless prompts

    @mensfeld mensfeld committed Sep 8, 2026
  • Troubleshooting: host won't suspend with a container running (udisks2, #706)

    @mensfeld mensfeld committed Aug 19, 2026
  • firewalld veth exclusion: use unmanaged-devices+= (plain = replaces a user's own exclusion list under NM last-file-wins semantics)

    @mensfeld mensfeld committed Aug 11, 2026
  • Document firewalld veth zone bloat (#695): Troubleshooting diagnosis/fix, manual NM exclusion in Linux Setup Guide

    @mensfeld mensfeld committed Aug 11, 2026
  • Align wiki with 0.11.1: OrbStack guide, filesystem-first UID mapping, dir-pool health warning, idempotent context injection, version-fix note - macOS Setup Guide: OrbStack is now a first-class documented option (setup steps, how COI handles the FUSE-backed macOS share via raw.idmap, the OrbStack >=2.2.2 silent-breakage background, storage notes); 'How It Works' rewritten around the v0.11.1 filesystem check with the reactive fallback; Manual Override reframed as rarely needed; Colima instructions now install Incus from Zabbly (Ubuntu's 6.0 is below the required 6.1). - Configuration/Architecture/File-Transfer/FAQ pages: UID-mapping mechanism descriptions updated (auto-selected shift vs raw.idmap), disable_shift comment rewritten, Colima-only framing widened to Colima/Lima/OrbStack. - System Health Check/Troubleshooting/Best Practices/Getting Started/ Linux Setup Guide: dir-pool driver warning documented (detection, cost, fix), example output shows the new 'pool (driver)' label, manual-setup example no longer recommends a dir pool, Zabbly note reframed around the automatic raw.idmap recovery, #673 version/update known-issue note added. - Troubleshooting/Supported-Tools/Profiles: idempotent marker-delimited sandbox-context injection documented incl. auto-healing of bloated files; tool interface snippets synced (AlwaysSetupConfig, full effort level list). - nftables internals: NFT monitoring is disabled by default. - Nav (Home/Sidebar/Footer): 0.10.1->0.11.0 migration links; FAQ count fix; IPv6 host-side blocking wording.

    @mensfeld mensfeld committed Aug 10, 2026
  • Align wiki with v0.10.2: model→[tool.claude], [[network.hosts]]/coi hosts, [defaults] profile, coi close, COI_TIMING_DEBUG - Migration-Guide: new 0.10.1→0.10.2 section for the breaking `model` move to [tool.claude] (wired via ANTHROPIC_MODEL). - Configuration + Profiles: move `model` docs from the config root/[defaults] to [tool.claude]; drop the now-invalid root/profile-root `model`. - Network-Isolation: new "Static Host Entries ([[network.hosts]])" section with the per-mode reachability table, trusted-scope-only caveat, and `coi hosts` runtime commands; Configuration + Container-Operations reference/cross-link it. - Profiles + Configuration: document [defaults] profile (no-flag default profile, precedence, trusted-scope-only, unknown-name hard error). - Container-Lifecycle: note `coi close` as an alias for `coi shutdown`. - Troubleshooting + Configuration: document COI_TIMING_DEBUG / _JSON startup profiling.

    @mensfeld mensfeld committed Jul 29, 2026
  • Post-release audit: fix ~50 inaccuracies vs v0.10.0 behavior Triple-check audit of every page against the released binary and code. Systemic: firewalld -> nftables (stale since the v0.9 #405 migration) across Network-Isolation, Linux-Setup-Guide, Architecture-and-Security-Model, Getting-Started, Home, FAQ*, Best-Practices, Troubleshooting, System-Health-Check — including the whole 'Firewalld Setup' section that told users to create the wrong sudoers file (/etc/sudoers.d/coi-firewalld); now documents nftables + /etc/sudoers.d/coi-nft (matching install.sh), the real error string, use_sudo=false, and the real orphan classes and health check names. Distro-default-firewall tips (Fedora/openSUSE) kept but decoupled from COI's own mechanism. Audit-Log: JSONL examples and field reference rewritten to the real ThreatEvent shape (id/timestamp/level/category/title/description/evidence/ action — the old examples used fields that never existed); COI_AUDIT_* tuning corrected (host env is not forwarded; use incus config set). Security-Best-Practices: default protected-paths table matches the 0.10 set; protection-weakening keys documented as trusted-scope only (untrusted project configs are sanitized); #533 linked-worktree support and #556 git identity seeding documented. Command usage: coi update core --check (not coi update --check), coi info <session-id>, coi persist <container>, coi run's interactive build prompt, stop-before-publish in the image workflow, --slot pinning. Config accuracy: memory enforce default is soft; effort_level accepts low/medium/high/xhigh/max/auto (default unset); [limits.disk] values are I/O rates not storage caps (Best-Practices example fixed); protected_paths default list completed; threat levels are INFO/WARNING/HIGH/CRITICAL. Navigation: 0.9->0.10 migration section linked from Home, sidebar, and footer; broken FAQ prompt-injection anchor retargeted.

    @mensfeld mensfeld committed Jul 10, 2026
  • docs: quick-win formatting pass across all wiki pages - Add H1 title to all 16 pages that were missing one - Add FAQ question index with 22 anchor-linked entries grouped by category - Add See Also section to all 19 pages with curated cross-links - Upgrade three high-risk inline warnings to blockquote callouts: allow_local_network_access, mount parent dir, disable_protection

    @mensfeld mensfeld committed May 26, 2026
  • docs: replace em dashes with hyphens across all wiki pages

    @mensfeld mensfeld committed May 26, 2026
  • Fix documentation inconsistencies for 0.8.0 release - Profiles: migrate all examples from deprecated top-level image/persistent/[build] to [container]/[container.build] nesting (0.8.0 rejects the old format) - Resource-and-Time-Limits: replace obsolete [profiles.X] flat syntax with directory-based profile config.toml examples - Security-Monitoring: fix phantom config keys (rate_limit → rate_limit_per_second, remove non-existent suspicious_unlimited, file_write_threshold_mb, file_write_rate_mb_per_sec) - FAQ: move Aider from "currently supported" to "coming soon" (not yet registered) - Troubleshooting: fix tmpfs_size default comment (empty string, not 4GiB), remove phantom file_write_threshold_mb reference - File-Transfer: fix /root/.claude paths to /home/code/.claude - Container-Operations: document coi info, coi version, coi clean --pools/--orphans/--dry-run - Profiles: add note explaining [[mounts]] (profiles) vs [[mounts.default]] (main config)

    @mensfeld mensfeld committed Apr 14, 2026
  • Docs audit for 0.8.0: fix [defaults] → [container], coi resume → coi unfreeze, add security features - Fix [defaults] → [container] for image/persistent in Configuration.md, Image-Management.md - Replace all coi resume → coi unfreeze references (Security-Monitoring, Troubleshooting, Lifecycle) - Add host-side immutable protection and guest API sections to Security-Best-Practices.md - Add container aliases section to Container-Lifecycle-and-Sessions.md - Update System-Health-Check.md for multi-pool support - Add host_immutable, alias, storage_pool to config reference

    @mensfeld mensfeld committed Apr 14, 2026
  • Add Slack community links to FAQ and Troubleshooting pages Closes #289 (wiki portion)

    @mensfeld mensfeld committed Apr 12, 2026
  • Update wiki for 0.8.0 release - Rename default image coi → coi-default - Move config path ~/.config/coi/config.toml → ~/.coi/config.toml - Drop /etc/coi/ and ~/.config/coi/ from config hierarchy - Replace coi build custom with profile-based build workflow - Rename coi profile show → coi profile info - Document profile inheritance (inherits field) - Document coi profile create/edit/delete commands - Remove non-existent coi config --init reference

    @mensfeld mensfeld committed Apr 9, 2026
  • 0.8.0 release updates

    @mensfeld mensfeld committed Apr 2, 2026
  • Update wiki for 0.8.0 unreleased changes System-Health-Check.md: - Rewrite example output with all 27 current checks - Expand "What's Checked" table with all categories and checks - Add Security Posture Details section (status logic table) - Add Version Checks section (Incus >= 6.1, nftables >= 0.9.0, kernel >= 5.15) - Add JSON output example with security_posture details - Update notes for Colima/Lima and privileged profile detection Security-Best-Practices.md: - Add privileged container guard, security posture verification, and kernel version enforcement to defense-in-depth summary (8 → 11 layers) Troubleshooting.md: - Add "COI refuses to start: security.privileged=true" entry with fix - Add "Kernel version warning on startup" entry FAQ.md: - Fix [container] → [paths] for preserve_workspace_path config

    @mensfeld mensfeld committed Mar 29, 2026
  • fix: replace non-existent coi monitor audit references with actual commands The `coi monitor audit` subcommand is not implemented (commented out in code). Replace all references with the actual working approach: reading audit JSONL files directly from ~/.coi/audit/. Pages updated: - Security-Monitoring.md (4 references) - Troubleshooting.md (2 references) - FAQ.md (1 reference)

    @mensfeld mensfeld committed Mar 4, 2026
  • docs: update wiki with recent fixes and improvements Security Monitoring: - Add large file write detection, gateway IP RFC1918 exclusion - Document dropped event tracking and orphan NFT rule cleanup - Add alert deduplication and NFT error routing details Troubleshooting (6 new entries): - Docker Compose fails in session containers - Permission denied / UID/GID mismatch - Security settings silently disabled (config merge bug) - Firewall rules accumulating - Settings.json overwritten - Cross-device link session save errors Supported Tools: - Add Claude effort level configuration - Fix opencode config path to XDG-compliant location - Update Go interfaces (ToolWithConfigDirFiles, ToolWithEffortLevel) Network Isolation: - Clarify gateway IP auto-exclusion from RFC1918 checks - Document cleanup on all termination paths including nftables - Remove duplicated container access section Container Lifecycle: - Add coi persist and coi resume commands - Document Docker/Compose support in sessions - Note sync.Once cleanup protection Container Operations: - Document three-step launch sequence for Docker support - Add UID/GID remapping and extra mount documentation FAQ: Add Docker Compose and preserve_workspace_path entries Resource Limits: Add tmpfs_size to disk limits config

    @mensfeld mensfeld committed Mar 2, 2026
  • docs: update wiki for recent security monitoring features Security-Monitoring.md: - Add large write detection for data exfiltration - Add disk space monitoring (/tmp > 80% warning) - Add coi resume command documentation - Add threat deduplication (30-second window) - Add complete configuration options - Add threat level table with severities - Add example for detecting data exfiltration - Add NFT cleanup troubleshooting Supported-Tools.md: - Update opencode resume behavior (--continue flag) - Add permission bypass row to comparison table System-Health-Check.md: - Clarify Incus storage pool thresholds Troubleshooting.md: - Add section for container paused by monitoring - Add section for container killed by monitoring - Document coi resume workflow FAQ.md: - Add real-time threat detection to protection list - Add monitoring best practices

    @mensfeld mensfeld committed Feb 24, 2026
  • docs: update /tmp default to disk-backed in FAQ and Troubleshooting

    @mensfeld mensfeld committed Feb 18, 2026
  • docs: add /tmp full → agent hang to FAQ and Troubleshooting (#135)

    @mensfeld mensfeld committed Feb 18, 2026
  • Add Troubleshooting, Security Best Practices, and Resource Limits pages

    @mensfeld mensfeld committed Feb 9, 2026