Submergent for developers.The machinery, when you want it.

Refactors, flaky tests and the coverage you inherited, with a diff to check. Pick where each session runs, read every change, and keep git in your own hands.

Download for macOS

Where it runs

Three places the agentcan do its work.

Pick one before a session’s first message. Two are optional, and the differences matter before you point an agent at something you care about.

01Default

Local

The agent works directly in the folder you registered. Nothing is copied or branched; changes land in your working tree, where your usual tools can see them.

Nothing to set up

02Optional · git

Worktree

Submergent creates a managed git worktree and branch from a base you pick, so the work stays off your current checkout. Deleting the session keeps both and tells you where they are.

Needs a git repository

03Optional · Docker or Podman

Container

The agent and its commands run inside a container that mounts your workspace read and write. It’s an execution choice, not a security boundary: it can still change your files.

Needs Docker or Podman installed

Control

See the plan first.Decide how far it goes.

Plan Mode

The agent proposes a plan instead of making changes. Accept it, accept it with a different model, or decline.

Permissions per session

Each session decides how much the agent can do without asking: ask first, accept edits, or allow all. A change applies to the next message, not the turn already running.

Developer Mode

One switch in Settings for the machinery. It gates chrome only and never changes how a session behaves.

  • Verbose tool events
  • Git branch picker
  • Environment picker
  • Review tab
  • Files tab
  • Terminal
  • Developer settings

Workflows

The tasks youkeep putting off.

Too big for a chat window, too tedious to hand-write. Each one needs something that reads the whole workspace, makes the change and shows exactly what it did.

  1. 01

    Rename a concept across the whole workspace

    With Plan Mode on you get the plan first. The edits land as real file changes, and the Review tab shows the diff against your base.

    Rename Session to Conversation everywhere. Plan first.

  2. 02

    Reproduce the test that only sometimes fails

    It reruns the test, reads the surrounding code and proposes a fix. Every command it wants to run follows the session’s permission.

    checkout.test.ts fails one run in five. Find the race.

  3. 03

    Backfill tests on code you didn’t write

    Tests get written and run. The useful half is the honest list of what resisted testing, which is usually where the design needs work.

    Write tests for src/billing/ and tell me what you couldn’t cover.

  4. 04

    Keep a task off your current checkout

    Pick Worktree before the first message and Submergent creates a managed worktree and branch from the base you choose.

    Start this on its own branch off main.

  5. 05

    Plan with one model, build with another

    Change provider or model mid-session and the conversation carries over. Connect the accounts you already have.

    Good plan. Switch to Codex and build it.

  6. 06

    Run several tasks at once

    Sessions run concurrently across workspaces, each with its own provider, model, permission and environment.

    Refactor auth here. Meanwhile, find why the sync job retries.

Providers

Seven providers.Your logins, reused.

Most reuse a provider sign-in you already have. Submergent finds installed providers on your PATH and never proxies what you send.

ProviderCommandConnect withNotes
Claude CodeclaudeYour Claude sign-inUses your Claude plan from Anthropic
OpenAI CodexcodexYour ChatGPT sign-in or an API keyA pasted key is stored separately and never changes your own Codex setup
GitHub CopilotcopilotYour GitHub sign-inNeeds an active Copilot subscription
Cursor—Browser sign-inEmbedded SDK · Local and Worktree only
OpenCodeopencodeYour OpenCode sign-inSubmergent downloads it for you from Settings › Providers
PipiPi sign-in or API keysIts own sign-in, or keys you set up in Pi
Ollama—Nothing to connectEntirely local, on localhost:11434

Git stays yours.

Submergent gets the change written and shows you what changed. It doesn’t put the change anywhere. The agent can run git commands you approve, but the app itself never does.

  • No commit, push, merge or pull request from Submergent itself
  • The Review tab shows the diff only. It doesn’t stage or approve hunks
  • Deleting a session keeps its worktree and branch, and tells you where
  • A container is an execution choice, not a security boundary

Questions

Questionsengineers ask.

Which providers can I use?

Seven: GitHub Copilot, OpenAI Codex, Cursor, Claude Code, OpenCode, Pi, and Ollama. Most reuse a provider sign-in you already have; Cursor signs in through the browser, and Ollama runs locally with nothing to connect.

Does my code leave my machine?

Your files stay on your computer. The content you send in a session goes directly from your computer to the provider you selected, under that provider’s terms — Submergent does not proxy it through a service of ours and does not keep a copy.

Do I need a git repository?

Not for a local session — a workspace is any folder. The Worktree environment does need git, since it creates a real worktree and branch.

Can I see every command before it runs?

Yes. Each session carries a permission setting that decides whether commands run freely, ask first, or are blocked, and Plan Mode gets you a written plan before anything is touched. Changing the permission applies to the next message, not the turn already running.

Point it at your repo.

Bring the providers you already use. Turn on Developer Mode when you want the machinery.

Download for MacSubmergent 0.1.6 · macOS 14+ · Apple Silicon