-
Notifications
You must be signed in to change notification settings - Fork 43
FAQ Setup and Operation
Common questions about platform support, configuration, and day-to-day use.
Not directly. Incus is Linux-only. However, you can:
- WSL2 (Windows Subsystem for Linux) - Install a Linux distribution in WSL2, then install Incus and COI inside WSL2
- VM - Run a Linux VM (Ubuntu, Debian, etc.) and install COI there
Note: Windows support via WSL2 is experimental and not officially tested. Linux or macOS (via Colima/Lima) are the recommended platforms.
Incus requires a Linux kernel - LXC (Linux Containers) is a Linux kernel feature. On macOS, a Linux VM is needed to run Incus.
- On Linux: COI uses Incus directly. No Colima, no VM layer.
- On macOS: Colima (or Lima) provides a lightweight Linux VM where Incus runs. COI manages the VM transparently.
If you're on Linux, there's no Colima involved. See the macOS Setup Guide for macOS-specific instructions.
First-time setup: coi build (one time, 5-10 minutes), then coi shell - that's it.
After setup: Just cd your-project && coi shell - same simplicity as running Claude Code directly, but with:
- ✅ Automatic file ownership (no permission issues)
- ✅ Credential isolation (your SSH keys stay safe)
- ✅ Session save/resume (continue later)
- ✅ Parallel sessions (multiple workspaces/slots)
- ✅ Clean environment (no host pollution)
The complexity is hidden. You get security and isolation with the same simple workflow.
No, Incus is not tmux. They're completely different tools.
Incus - Linux container and VM manager (like Docker, but for system containers):
- Manages containers with full operating systems inside
- Provides isolation, networking, storage, etc.
- COI uses Incus to create isolated environments
tmux - Terminal multiplexer for managing shell sessions:
- Lets you detach/reattach terminal sessions
- COI uses tmux inside containers to manage AI tool sessions
In COI: Incus creates the container, tmux runs inside it to manage your session with the AI tool.
Yes. By default, your project is mounted at /workspace inside the container. If you need the container workspace to use the same absolute path as on your host (useful for tools that store session data relative to the workspace directory), enable preserve_workspace_path:
# .coi/config.toml or ~/.coi/config.toml
[paths]
preserve_workspace_path = trueWith this enabled, if your project is at /home/user/projects/my-app, it will be mounted at the same path inside the container.
Yes. COI automatically enables Docker support flags (security.nesting, security.syscalls.intercept.mknod, security.syscalls.intercept.setxattr) on session containers. Docker and Docker Compose work out of the box without any additional configuration.
Docker commands also work without sudo - the container's code user is added to the docker group, and the Docker socket is configured with the correct group ownership.
If Docker commands fail, verify that:
- Your COI image was built with the latest
coi build - You're using
coi shell(not rawincus exec)
Use [[mounts.default]] in your config to mount host directories into the container. The key rule is: mount subdirectories, not the parent config directory (e.g., mount ~/.claude/skills, not ~/.claude).
See the Configuration - Mounting Additional Files section for full examples, common patterns (Claude skills/commands/plugins, opencode agents), and security guidance.
AI coding agents are most effective when they can:
- Access your actual project files and directory structure
- Run your test suite and build tools
- Interact with local services (databases, APIs)
- Use your project's Docker Compose setup
- Work with low latency and no network dependency
Running in the cloud adds latency, requires syncing files, and complicates access to local development services. COI's approach is: run locally but contained - you get the convenience of local execution with the safety of isolation and security monitoring.
COI supports multiple AI coding tools through its extensible tool interface. Currently supported:
- Claude Code (default) - Anthropic's CLI agent
- opencode - open-source AI coding agent
Coming soon:
- Aider - AI pair programming tool
- Cursor (CLI mode)
See Supported Tools for the full list and configuration details.
Adding support for other tools (including those backed by local models like Ollama) is possible by implementing the tool interface. If you'd like to see a specific tool supported, open an issue.
Join the COI community on Slack for live discussion and support.
- Getting Started - Step-by-step setup and first session walkthrough
- Configuration - Full configuration reference
- Supported Tools - AI tool options and configuration
- FAQ - Return to the FAQ index
Getting Started
Setup
Configuration & Usage
- Best Practices
- Configuration
- Profiles
- Supported Tools
- Container Lifecycle & Sessions
- Container Operations
- Snapshot Management
- File Transfer
- Tmux Automation
- Image Management
- Resource & Time Limits
Security
Maintenance
Help & Reference