neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
Oh My Terminal: a terminal workspace for running coding agents side by side.
Developer toolsGo · HTMLGitHub @fachrihawariOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Oh My Terminal: a terminal workspace for running coding agents side by side.
Website · Download · Changelog
Run Claude Code, Codex, Gemini, OpenCode and Pi in split panes, in one native window. omaterm shows you which agent needs you, what each one changed in its last turn, and keeps your sessions running after you close the window. Git, an editor and a browser sit next to your shells.
omaterm command lets agents and scripts open panes,
read them, type into them and wait for them.Linux (x86-64 and ARM64):
curl -fsSL https://github.com/fachrihawari/omaterm/releases/latest/download/install.sh | sh
This installs the app in ~/.local/omaterm.app and adds it to your app
launcher. It needs no root.
macOS (Universal) and Windows (x64): download the .dmg or the
Setup.exe from the
latest release.
A .deb and .tar.gz for Linux are there too.
omaterm updates itself: a new release shows up as an update in the app.
Ctrl+Shift+P). It installs a small hook and a skill
for your agents, so a restart resumes each one's own conversation and
agents learn the omaterm command.omaterm command in your own shells too, run Install Command
Line Tool from the palette. It links the command into ~/.local/bin.Each session shows whether it is working, needs you, failed or is done. This
works for Claude Code, Codex, Gemini, OpenCode, Pi and any program that
reports its status. When a session needs you while you look away, you get a
notification; Ctrl+Shift+J jumps to it.
In the Git tab, Last turn (Ctrl+Shift+A) lists what an agent changed in
its last turn, apart from everything else you haven't committed. Keep or
revert each hunk.
The sidebar lists each project with its sessions, and switching projects
keeps the other one's shells running. Split a pane right (Ctrl+Shift+R) or
down (Ctrl+Shift+D), zoom one (Ctrl+Shift+Enter), and drag a pane's
header to move it.
New Agent in Worktree…, in the command palette or a project's menu,
starts an agent on a new branch, in a git worktree of its own under the
repository's .worktrees folder, with your .env files copied in. Run
several at once: none touches another's files, or yours.
The Git tab follows the session into its worktree, and its Branch view shows everything the branch changed since it started. From the session's menu:
Closing the session asks before it drops work that isn't in main.
An agent can lead others. It starts workers in worktrees made from its own
branch, which show under its session in the sidebar, and hands each its
part with omaterm ask. omaterm types each message into the worker's prompt
once it is free and you aren't typing there, and the worker's answer comes
back to the lead, waking it. The lead merges each worker into its own
branch with omaterm merge; merging into main stays yours.
Ask for Review…, in a session's menu or the command palette, starts a second agent beside it, Codex reviewing Claude Code for instance. The reviewer reads what the session changed, changes nothing itself, and sends the agent what to fix, for up to three rounds, then tells you its verdict.
Sessions run in a session daemon, so they keep going after you close the
window and are back when you open it. (Not on Windows, which has no daemon
yet: there omaterm asks before quitting ends a running agent.) After a reboot, Claude Code, Codex,
OpenCode and Pi resume the same conversation.
omaterm daemon install-service runs the daemon as a systemd user service,
so your sessions come back when you log in.
Stage, commit, stash, fetch, pull and push from the Git panel. There is a commit graph, side-by-side and inline diffs (images too), a file tree, and an editor with syntax highlighting and Markdown preview.
| Git panel | Diff |
|---|---|
| Commit graph | Editor |
Web access shows your sessions in a browser: which agents are working or need you, and any pane as a live terminal you can type into, with a key bar for Esc, Ctrl and the arrows on a phone.
Turn it on in Settings, or with omaterm web on. It serves on
127.0.0.1:7370; reach it through a tunnel you already trust:
tailscale serve --bg 7370 # your tailnet only
cloudflared tunnel --url http://127.0.0.1:7370 # a public https URL
omaterm web on --network serves it on your local network instead. That is
plain HTTP, so use it only on networks you trust.
A browser sees nothing until you pair it: Pair a Device in Settings, or
omaterm web pair, shows a QR code that works once, for ten minutes. Revoke
a device in Settings or with omaterm web revoke.
Ctrl+Shift+O opens a web page next to your terminals, as does
omaterm split --url localhost:5173. With Let Agents Control the App on,
agents can read, click, type into and screenshot the page with
omaterm browser.
Pick a dark or light theme, or follow your desktop's. The window, terminals and editor share one palette, checked for contrast so text stays readable. On Omarchy, omaterm follows the active theme as you switch it.
| Tokyo Night | Lupine (light) |
|---|---|
Ctrl+, opens the Settings window: theme, terminal, editor, notifications,
agents, web access and updates, with search, and changes apply as you make
them. They live in ~/.config/omaterm/settings.json.
omaterm commandAgents and scripts drive your sessions with it:
omaterm split --down -- go test ./... # run in a new pane below
omaterm wait <pane> --exit # wait for it to finish
omaterm read <pane> # read its screen
omaterm send <pane> "y" --enter # type into it, once you stop typing there
omaterm diff --turn # what the last agent turn changed
omaterm new --worktree fix-login -- claude # an agent on a branch of its own
omaterm ask fix-login "Is the test green?" # ask another agent, get its answer
omaterm help lists every command. omaterm skill setup teaches Claude
Code, Codex, Pi and OpenCode to use it. Every pane knows where it runs:
$OMATERM_SESSION, $OMATERM_PANE, $OMATERM_PROJECT and
$OMATERM_PROJECT_DIR.
| Action | Linux and Windows | macOS |
|---|---|---|
| Command palette | Ctrl+Shift+P | ⇧⌘P |
| Settings | Ctrl+, | ⌘, |
| Go to file | Ctrl+P | ⌘P |
| Search in project | Ctrl+Shift+F | ⇧⌘F |
| Open a project | Ctrl+O | ⌘O |
| New terminal | Ctrl+T | ⌘T |
| Close the pane, or the tab | Ctrl+W | ⌘W |
| Split right / down | Ctrl+Shift+R / Ctrl+Shift+D | ⇧⌘R / ⇧⌘D |
| Zoom pane | Ctrl+Shift+Enter | ⇧⌘↩ |
| Go to tab 1–9 | Alt+1 … Alt+9 | ⌘1 … ⌘9 |
| Go to project 1–9 | Alt+Shift+1 … Alt+Shift+9 | ⌥⌘1 … ⌥⌘9 |
| Next / previous session | Alt+↓ / Alt+↑ | ⌥↓ / ⌥↑ |
| Go to the session that needs you | Ctrl+Shift+J | ⇧⌘J |
| Files / Git / Last turn / Info | Ctrl+Shift+E / G / A / I | ⇧⌘E / G / A / I |
| Toggle sidebar / inspector | Ctrl+B / Ctrl+Shift+B | ⌘B / ⇧⌘B |
| Text size | Ctrl+= / Ctrl+- / Ctrl+0 | ⌘= / ⌘- / ⌘0 |
On macOS, Option types characters and moves the shell's cursor by words
(⌥←, ⌥→), so tabs are ⌘ digits there and projects ⌥⌘ digits.
omaterm is written in Go with MyGo.
go test ./... # tests
bun install # mygo-cli, for the dev loop and packaging
bun run dev # run with reload
bun run build # build the app
SITE_SHOTS=1 go test -run TestSiteShots . renders the screenshots in this
README and on the website into site/assets. RELEASING.md
covers how releases are cut.
omaterm builds on:
omaterm command with its agent hooks, plugins
and skill, and browser panes, pane layout and elevation. Each such source
file names the Kero file it comes from.And learned from, sharing no code: Rex by Superlogical (card panes, pane headers, and OSC 7501, the Program Status Protocol omaterm reads agents' status with), Tern by Stencil (how an agent terminal should look and feel), OpenCode (whose web mode inspired web access) and Omarchy (the desktop omaterm was first made for).
License texts for these and the Go libraries omaterm uses are in THIRD_PARTY_NOTICES.md, which ships with every release.
| Save a file | Ctrl+S | ⌘S |
| Open a browser pane | Ctrl+Shift+O | ⇧⌘O |
| In a browser pane: address, reload, find | Ctrl+L, Ctrl+R, Ctrl+F | ⌘L, ⌘R, ⌘F |
| In a browser pane: back / forward | Alt+← / Alt+→ | ⌘[ / ⌘] |
| All shortcuts | Ctrl+Shift+/ | ⇧⌘/ |