Skiff

Give OpenCode a desktop home.

OpenCode runs in a terminal. Skiff is a desktop app for Linux and macOS that runs many terminals at once: OpenCode, Claude Code, Codex or any other command line. Each session sits under the project and Git worktree it works in, and you can see which one needs you.

Free · MIT license · Linux x86_64 · macOS Apple Silicon
Skiff on Linux: a project with its session group, changed files and file tree in the sidebar, and three agent sessions side by side

v1.0.0One project, one group, three agents side by side. The flag marks the session that finished.

What Skiff adds

Skiff starts the opencode command you already have. OpenCode itself does not change.

OpenCode beside other agents

Put up to four sessions in a named group, from any mix of agents. Try one model on a task while another agent works on the next.

One worktree per task

Make Git worktrees in Skiff and start a session in each one, so parallel tasks don't edit the same files.

A bell when OpenCode asks

Skiff reads OpenCode's Allow once and Reject prompt from the screen and rings a bell on that session. A flag means it finished while you were elsewhere.

Close the window, keep working

A daemon, skiffd, owns every terminal. OpenCode keeps going after you close Skiff. Open it again and each terminal shows its last screen.

Changed files and diffs

Each worktree lists the files OpenCode changed. Double-click one to see the diff, or open it in your own editor.

Agents that start agents

The skiff command lets an agent start more sessions, type into them and wait for them to finish.

Your setup stays yours

Skiff installs no hooks and writes nothing into OpenCode's configuration. OpenCode keeps its own providers, models and keys. Change the command in Settings if you start OpenCode with your own flags.

Start in four steps

  1. Install OpenCode and set up a provider. The OpenCode docs cover this.
  2. Download Skiff for Linux (.deb, .rpm or AppImage) or macOS on Apple Silicon.
  3. Add a project. A project is a Git repository. Make a worktree in it if you want an isolated branch.
  4. Start an opencode session in the worktree. Add another agent to the same group when you want a second opinion.

Ask your agent

You don't type skiff commands yourself. Ask Claude Code or Codex in plain words, from any Skiff terminal:

Open an OpenCode next to me and ask it to write tests for the changed files. Tell me when it's done.

The agent runs the commands, waits for the other session and reports back. It learns how from the skiff-cli skill, a one-time copy into ~/.claude/skills/ for Claude Code or ~/.codex/skills/ for Codex. The app does not install it for you.

What the agent runs
skiff new --agent opencode --name oc-tests
skiff group add . oc-tests --split right
skiff wait oc-tests --for idle --timeout 60
skiff send oc-tests "Write tests for the changed files" --enter
skiff wait oc-tests --for any-not-working --timeout 600
skiff peek oc-tests

The full list is on the CLI page.

Questions

Is Skiff a GUI for OpenCode?
Skiff runs OpenCode's own terminal interface in a pane. It adds the window around it: groups, worktrees, status flags and diffs.
Does it work with my models and providers?
Yes. Skiff starts the same opencode command you run in a terminal, with the configuration it already has.
Can I run other agents at the same time?
Yes. Skiff also comes with Claude Code, Codex, Gemini and Grok, and you can add any other command. See Claude Code and Codex in Skiff.
What does it cost?
Nothing. Skiff is open source under the MIT license.