CLIO Coder

A coding agent for
scientific software.

Ask CLIO Coder to explain a codebase, make a change, and run the project’s own checks. It works in simulation codes, numerical libraries, and everyday repositories, with the models you choose, in the terminal or on the desktop.

Try it today

curl -fsSL https://coder.iowarp.ai/install.sh | sh

01 / Understand

Understand a repository
before changing it.

Ask CLIO Coder to find the entry points, trace a calculation, or explain how the project builds and tests. It reads files, searches the tree, inspects Git history, and navigates a codemap of your project. It also reads PDFs, Jupyter notebooks, archives, and SQLite databases. A CLIO-CODER.md handbook gives it standing project context.

“Explain how this repository builds and runs its tests. Find the main entry points. Do not change files yet.”

First session tutorial

02 / Change

Make the change
within the scope you set.

Fix a calculation, investigate a failing check, or implement a feature. By default, shell commands run inside an OS sandbox when the host has one, and in a Git work tree CLIO Coder snapshots your files before changing them. A safety judge reviews riskier calls against your own messages, and you are asked only when it has no verdict or the decision is yours.

Sandbox
A sandboxed command reads the filesystem but writes only to the workspace and scratch space. It cannot see your credential stores, the SSH agent, other agents' logins, browser profiles, shell histories, credential environment variables, or a project's .env files and private keys. The network stays on in your own session.
Approvals
A permission card names the tool, its risk, the rule that fired, and the exact target. Deny skips a call; Stop ends the turn. A card nobody answers is denied after five minutes and the turn continues.
Undo
/rewind previews and restores your files from a snapshot of this session. It never moves your branches or index.
Long jobs
yolo is for unattended work: nothing waits for you. It is contained by default, so the sandbox, snapshots, and safety judge stay on, and a call that would have asked you is refused back to CLIO Coder. It needs a one-time acceptance.
Steering
During a turn, Enter queues a message for the next pause between tool calls, Alt+S sends it now, and Escape interrupts.
Record
Local journals keep every call, tool, and cost. Inspect them with /view, /usage, and clio-coder telemetry. A clean exit prints a session summary and the /resume line that reopens it.
Repository tools guide Sandbox and safety guide Containment and /rewind tutorial

03 / Delegate

Delegate bounded tasks
to workers.

Hand a side task to a worker while your conversation continues. Each worker runs a recipe with declared tools and budget on your chosen model, returning a result and a sealed run record to inspect. A playbook runs a sequence of workers, and clio-coder fleet land lands the branches a run kept. Workers run on your machine, or on SSH nodes you add and test.

Keep results and datasets in the project store, outside the working tree. Each file carries a record of who put it, from where, and its hash, and every checkout and task worktree of the project sees the same store.

A / “Trace how the input file reaches the solver. Report paths and line numbers. Do not edit files.”

B / /run verifier Review the current diff and run the relevant existing checks. Do not edit files.

Workers and fleets guide Project store tutorial

04 / Verify

Verify with the project’s
own checks.

Ask CLIO Coder to run declared tests, builds, numerical comparisons, and performance checks. Results are recorded with their exit status, and a repository quality policy can map changed paths to required checks. Usage figures keep measured, estimated, and unknown apart, and clio-coder telemetry verify checks a sealed run’s journals, on another machine if you like. You review the diff and results before keeping them.

CLIO Coder / terminalA real session
CLIO Coder in the terminal changing kelvin <= 0 to kelvin < 0 in temperature.mjs as a one-line diff, then running the project’s declared test check through verify with exit 0
The temperature calibration project with one boundary bug: a one-line fix, then the declared test check through verify, which passes.
Temperature calibration tutorial

05 / Interfaces

In the terminal
or on the desktop.

Start a task in either one. Both run the same CLIO Coder runtime and share your saved connections and settings. The terminal is the primary interface, and a second terminal in the same folder opens its own session. The desktop app is served from your own machine, opens in your browser, and is in alpha.

CLIO Coder terminal at start: the CLIO Coder wordmark beside the selected model and autonomy, the workspace with its Git state, and the composer reporting the Qwen 3.8 model ready.
CLIO Coder in the terminal TUI

Conversation, tool calls, permission cards, worker activity, and context accounting in one keyboard-driven workspace. /config opens your connections without leaving the session, and /resume followed by a session id reopens earlier work. Launch it from your repository. For scripts and CI, clio-coder run does one task with no screen: permission asks are denied, and the exit code says how the run ended.

clio-coder
CLIO Coder desktop after a completed calibration task: seven passing tests and the reference temperatures in the conversation, with task status, workspace, model, context and usage in the Session column.
CLIO Coder on the desktop Alpha

Keep many tasks open in one window. A new launch focuses it under WSL, as an installed Chrome or Edge app, or on Linux desktops with a window tool; otherwise it opens a browser tab. The Session column shows live usage, the plan, Git state, and artifacts. Idle tasks pause and resume on request. The alpha covers a subset of terminal workflows.

clio-coder gui --open
Desktop and terminal tutorial Run it unattended tutorial Share a folder tutorial

06 / Models

Connect local, institutional,
or cloud models.

Use the models you already have. A saved model connection is a target. Chat and workers can use different targets, models, and thinking settings, and /model changes the current session. Context windows and capabilities come from the live inference server first, then from packaged model profiles. An unknown window is shown as unknown. A lab’s setup file connects each member with clio-coder configure --import.

Local and self-hosted
Ollama · LM Studio · llama.cpp · vLLM · SGLang
Gateways and institutions
LiteLLM · OpenAI- and Anthropic-compatible APIs · Argonne ALCF through Globus
Cloud and subscriptions
OpenAI · Anthropic · Google · OpenRouter · Amazon Bedrock · ChatGPT and Claude sign-in
Connections and targets guide Lab setup file tutorial

08 / Install

Install CLIO Coder
and connect a model.

You need a model with tool calling. Linux, macOS, and WSL are the primary platforms. The installer brings its own Node.js 24, needs no root, and works on HPC login nodes. On Linux it offers to add the desktop app at the end.

1 / Install

Native install Recommended

macOS, Linux, WSL

curl -fsSL https://coder.iowarp.ai/install.sh | sh

Brings its own Node.js 24, needs no root, works on x64 Linux with glibc as old as 2.17, and installs the latest release. On Linux, add sh -s -- --gui after the pipe to set up the desktop app without being asked.

Windows PowerShell

As of CLIO Coder 0.8.0, native Windows is best effort, so use the current stable release. An optional release job boots the package on Windows and runs only --version and --help. The install itself was checked by hand on an earlier release, on one x64 machine with PowerShell 5.1, and no automated check covers it, so WSL remains the recommended route on Windows.

irm https://coder.iowarp.ai/install.ps1 | iex

npm

npm install -g @iowarp/clio-coder

Needs Node.js 22.19 or newer. Update with clio-coder upgrade.

bun

bun add -g @iowarp/clio-coder

Still runs on Node.js 22.19 or newer from your PATH. Update with bun, then run clio-coder upgrade --post-install.

Then open a new terminal and run clio-coder --version. Quickstart and troubleshooting

If the shell cannot find clio-coder, add the PATH line the installer printed to your shell profile, or install again with sh -s -- --modify-path after the pipe.

2 / Connect a model
cd /path/to/your/project
clio-coder configure

Its first choice, Guided setup, offers any model connection it finds on this machine, or asks what you have: an API key, a subscription, a model server or gateway, or a setup file from your lab or team. It sends the model one short test request and saves when it answers. The desktop app offers the same setup. Already connected? Skip to step 3.

3 / Launch
Desktop · alpha
clio-coder gui --open
Terminal
clio-coder

09 / Questions

Common questions.

Do I need a CLIO Coder account?

No. CLIO Coder runs locally with your own model connections. Your cloud provider may require credentials and charge for inference.

Can I use a local model?

Yes. Connect a supported server or compatible API endpoint. Choose a model that supports tool calling. The connection guide covers setup.

What can CLIO Coder change on my machine?

CLIO Coder can edit files and run commands. At default autonomy, your session’s bash and run_script calls and dispatched native workers run in an OS sandbox when available (bubblewrap on Linux, an unverified sandbox-exec profile on macOS). yolo keeps that sandbox by default. Without a sandbox backend, or at unconfined yolo, commands run with your user’s access. Review permissions and changes as you work.

Are experimental features on by default?

No. System One and music stay off until you turn them on, and remote workers run only on nodes you add and test. Each tutorial on one of these says what enables the feature, which version it describes, and where your data goes.

Does it update itself?

Installer installs update in the background, at most once a day. On Linux and macOS, npm, pnpm, bun, and volta installs you own update after an interactive session quits. Set interface.autoUpdate: false to keep the notice and update by hand with clio-coder upgrade.

What does it record, and where does that go?

Every session and worker run writes journals under CLIO Coder’s local state directory. Nothing reaches the maintainers until you send it: /report shows the masked draft first, and a diagnostic share is encrypted for them and uploaded as a secret gist in your own GitHub account. Your prompts and code go to the model endpoints you connect.

How mature is the project?

CLIO Coder is pre-1.0 software under active development. The terminal is the primary interface; the desktop is an optional alpha. Report an issue if you run into trouble.

IOWarp’s lattice mark, with blue cubes, copper cores, and cyan connections

Created by researchers who love to code

Meet the CLIO Coder team.

CLIO Coder is part of IOWarp. Anthony Kougkas began the work behind it in December 2023, explored earlier forms through Warpio, AWOC, and PanCode, and consolidated the current repository in April 2026.

Try it on a repository
you already know.

Install CLIO Coder