quvyta-code
qcode
Coding agents inside containers, from the terminal. Set up a profile once, sign it in, and from then on open that agent in any of your projects in a few seconds, moving between agents and shells the way you move between tabs.
curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh -s -- codeBeta. qcode works on Linux with both Podman and Docker. The interface, the files it writes and the names of its images and containers may still change between releases.
Four agents today
Bring the agent you already pay for.
| Agent | Signs in with |
|---|---|
| Claude Code | a subscription or an API key |
| opencode | a subscription or an API key |
| Gemini CLI | a subscription or an API key |
| Codex CLI | a subscription or an API key |
Each agent is installed from its own published package when a profile's image is built; qcode does not ship or change any of them. Every one of them can resume a conversation from qcode's new-tab list.
The approach
The container is what keeps the work apart.
- A container per agent
Each agent runs in a container built from an image made for it. It sees the project folder and, if you allow it, the project's assets folder and the network.
- Free to work
Because the container keeps the work away from your machine, the agent is set up to work without stopping to ask for permission.
- One login, a copy per project
A profile signs in through the agent's own flow, once. Each project gets its own copy of the login, so chat history, memory and settings never leak from one project into another.
- Stopped when you are done
When the last qcode closes, the containers it started stop. An optional background service does the same after a crash. Containers you started yourself are never touched.
- Podman or Docker
Either engine works. qcode finds it, says when it is missing or not running, and shows the command that installs or starts it. It never installs anything and never raises its own rights.
- Nothing extra on your machine
A git address is cloned inside a container, and files open in the project's own small base container, so neither git nor an editor has to be installed.
- Tabs that can hand each other work
An agent in one tab can ask the agent in another for something and hear back. You approve the first message between two tabs, a tab without the network can never send to one that has it, and an exchange stops after six messages. What arrives waits on a line in the other tab until you pass it on.
- English and Turkish
Every word on screen comes from a language file. More languages are welcome; the framework already carries nine.
Screens
Every screen, keyboard and mouse alike.
Install
The family's installer builds qcode from crates.io with cargo. It asks before every step, installs Rust with rustup if it is missing, and never uses sudo.
The program is installed as qcode and also as quvyta-code. On Windows, and for every other way in, see Install.
Linux and macOS
curl -fsSL https://raw.githubusercontent.com/quvyta/quvyta/main/install.sh | sh -s -- codeOr with cargo
cargo install quvyta-codeRequirements
- A container engine
Podman (rootless, no background service needed) or Docker with its daemon running.
- An account with the agent
A subscription or an API key from its provider.
- Disk space and a network connection
For the first images: a Debian base with Node.js, and each profile's agent on top.
- Linux
qcode is developed and tested on Linux. macOS and Windows are written in but not yet tried.