Open source · MIT · Electron desktop app

Workspaces for the
AI-powered
terminal era.

strIDEterm organizes your shells, AI coding agents, code reviews, Git, and Docker into focused workspaces — and runs supervised Worker + Judge coding loops across Claude Code, Codex, Gemini, GitHub Copilot, and OpenCode.

Windows macOS Linux
strIDEterm — Frontend workspace Live
strIDEterm workspace with Claude Code, Codex, Gemini CLI, and Shell tabs running side-by-side, with project sidebar and System Monitor pane
Claude Code· Codex CLI· Gemini CLI· GitHub Copilot CLI· OpenCode· Lazygit· Docker· SSH· Telegram· Claude Code· Codex CLI· Gemini CLI· GitHub Copilot CLI· OpenCode· Lazygit· Docker· SSH· Telegram·
Headline · Agent Task Runner

A Worker writes the code.
An independent Judge reviews it.

Pick any two of Claude Code, Codex, Gemini, GitHub Copilot, or OpenCode for the two roles. The runner auto-detects your verify commands, runs deterministic checks between rounds, and only stops when the Judge says “complete”.

Worker claude-code
implements task from TASK.md
commits to its own worktree branch
runs verification checklist
Built-in checks
tests · lint · build
WORK_LOCK released
TODO checklist clear
Judge codex
reviews git diff + task
rules continue or complete
shower-mode context refresh
Agent Task Runner — recorded demo Demo
Animated demo of the Agent Task Runner cycling through Worker, checks, and Judge across rounds
Recorded session — Worker codes, deterministic checks run, Judge reviews the diff, loop continues until the Judge says complete.

Mix providers. Claude worker + Codex judge. Or Gemini + Copilot. Pick per task.

Skip-permissions toggles per role. Sensible defaults; full control via picker or custom CLI.

Verification is auto-detected. Common project commands prefilled into the TASK.md checklist.

Dashboard tab. Round-by-round progress with check results and judge feedback.

Shower mode. Periodic context refresh keeps long tasks coherent.

Optional git worktree. Each task lives on its own branch — no contamination.

Workspaces & Tabs

One window. Every project.

Each workspace has its own terminal tabs, working directory, and settings. Add tabs from a template menu — Shell, Claude Code, Codex, Gemini CLI, GitHub Copilot, Dev Server, Files, and other presets.

Add workspace · tab templates
strIDEterm Add Workspace dialog with badge, accent colour, and Terminal tabs picker — Shell, Claude Code, Codex, Gemini CLI, Dev Server, Tests, Docker Compose, Lazygit, Browser, and Custom presets
Welcome screen
strIDEterm welcome screen with Create a workspace, Pick a working directory, Add terminal tabs, and Create your first workspace flow
Tab templates. One-click presets for every supported AI CLI plus shell, dev server, file manager, and embedded browser.
Profiles. Switch the entire workspace set between Work, Personal, or Client — colored profile bar tells you which.
Split layouts. Solo, columns, rows, top-split, left-split, or grid — see multiple terminals side by side.
File manager. Tree, preview, edit, copy/rename/delete via right-click. Resizable panels.
Drag & drop. Reorder workspaces and tabs by dragging.
Code review

PR inboxes that turn into working branches.

One click on a pull request opens a managed review workspace — repository cloned, worktree checked out, AI agent tabs ready. For GitHub and Azure DevOps.

GitHub PR review

  • Inbox grouped by repo · All / Needs attention / Needs review / My PRs
  • Worktree per PR at {reviewRoot}/reviews/{connection}/pr-{number}/
  • Approve, Request changes, or Comment from the workspace
  • New-branch flow → push → open PR from the same workspace
  • MCP bridge so AI agents can review and fix in-place

Azure DevOps PR review

  • Inbox grouped by repo with managed review workspaces
  • AI agent integration — review & fix loop, push & publish
  • MCP bridge for agent-driven comments and approvals
  • Same architecture as the GitHub integration
Git that scales to microservices

Group sibling repos under one workspace.

Set gitRoots on a workspace and the Git pane gets a repo switcher plus a Bulk sub-tab — Fetch all and Pull all (ff-only) across every repo with per-row status. Single-repo behavior stays unchanged when gitRoots is empty.

Branch & status

Branch info, dirty count, commit log, and one-click Lazygit launch on every workspace.

Worktrees

Create a worktree from any project — task workspaces and PR reviews use them automatically to isolate work on its own branch.

Bulk fetch / pull

Iterate across every repo in a workspace — see per-row OK / fast-forward / dirty status without leaving the pane.

api-gateway↻ ff-only
auth-service↻ up to date
billing-svc! local changes
notifications↻ ff-only
Remote control

Drive your workspace from anywhere.

Access strIDEterm from another device on your LAN — or via a Cloudflare Quick Tunnel — with token auth and QR handoff. Forward alerts to Telegram and reply with text or inline-button taps to start tasks, pause agents, capture screenshots, fetch files, or open a PR review.

Remote Access

HTTP / WebSocket bridge. LAN by default, opt-in to Cloudflare tunnel for cross-network. Token-based auth, QR code for quick handoff — both shown in the share dialog below.

strIDEterm Share workspace dialog with Cloudflare Quick Tunnel URL, QR code, and access token controls

Telegram bot

Long-polling — no public webhook. Reply to alerts, tap inline buttons, or use slash commands (/menu, /status, /task, /screenshot). Bot token sealed in the OS keychain; chat-ID allowlist on every update.

06

Finish notifications that actually fire

Audio ding when focused, system notification in background. Per-provider hook integration with Claude Code, Gemini CLI, Codex CLI, GitHub Copilot CLI, and OpenCode — instant signals when an agent stops or asks for input. OSC 133 shell integration auto-injected for bash, zsh, and PowerShell.

ClaudeGeminiCodexCopilotOpenCode
Workspace tabs showing live status badges and notification counts on Claude Code, Codex, Gemini CLI, and Shell tabs
07

First-class SSH client

Host book with tags. Built-in key manager. TOFU host-key verification. Imports ~/.ssh/config. Agent forwarding (Pageant / OpenSSH / unix), jump hosts, password / MFA / public-key auth, and three launch modes — built-in, system ssh, or WSL.

Host bookKey managerJump hostsSSH config import
Plus everything else

The rest of the toolbelt

PluginsManifest-based extension system. Docker Ops & System Monitor built in.
Light & dark themeIncluding terminal colors and title bar.
Keyboard shortcutsWorkspaces, tabs, layouts — fully mouse-free.
Embedded browserOpen URLs in a tab with a URL bar & nav controls.
Multiple instancesRun side-by-side via --data-dir.
State at ~/.strideterm/JSON state, structured logs, user plugins.
🐳Docker OpsList containers, run actions, open shells, stream logs.
📈System MonitorBuilt-in plugin for at-a-glance system status.
Get started

Download strIDEterm

Pre-built installers for every major platform. Nightly builds from master on the Releases page.

Quick install

VER=$(curl -fsSL https://api.github.com/repos/jstradej/strideterm/releases/latest \
  | grep -m1 '"tag_name":' | cut -d'"' -f4 | sed 's/^v//')
curl -fL -o strIDEterm.AppImage \
  "https://github.com/jstradej/strideterm/releases/latest/download/strIDEterm-${VER}.AppImage"
chmod +x strIDEterm.AppImage && ./strIDEterm.AppImage
VER=$(curl -fsSL https://api.github.com/repos/jstradej/strideterm/releases/latest \
  | grep -m1 '"tag_name":' | cut -d'"' -f4 | sed 's/^v//')
curl -fL -o strIDEterm.dmg \
  "https://github.com/jstradej/strideterm/releases/latest/download/strIDEterm-${VER}-arm64.dmg"
open strIDEterm.dmg
$ver = (Invoke-RestMethod https://api.github.com/repos/jstradej/strideterm/releases/latest).tag_name.TrimStart('v')
Invoke-WebRequest -Uri "https://github.com/jstradej/strideterm/releases/latest/download/strIDEterm-Setup-$ver.exe" -OutFile strIDEterm-Setup.exe
Start-Process .\strIDEterm-Setup.exe

All snippets resolve the latest release tag from the GitHub API and download the matching artifact.

Stop juggling terminals.
Start running agents.

strIDEterm is open source under MIT. Built for developers who treat the terminal as a workspace.