vlinx-io/VelaTerm

VelaTerm = Codex + iTerm2, The Best ADE for AI Coding

TypeScript

259

66 commits

updated Oct 6, 2026

See the code

See what people are saying

SourceMessageScoreDate

Agent Communication & Orchestration in VelaTerm (r/ClaudeAI)

Hi, I built VelaTerm, a terminal and workspace for Claude Code and other coding agents, with help from Claude Code. One concrete example of how I used Claude: I asked Claude Code to expose VelaTerm’s existing conversation reader and full-text search as commands agents could use. It implemented…

23

Oct 7, 2026

README

VelaTerm

English | 简体中文

The best ADE. Not just a terminal. Not just an IDE.

Manage agent sessions like Codex. Split terminals like iTerm2. VelaTerm keeps both in one native app, and brings them to your browser and your phone.

License: MIT Website X YouTube Discord

Codex session management plus iTerm2 split panes equals VelaTerm, the agentic development environment. Click to watch the intro video.

Watch the intro video (2:55) · Download · User manual

Workspace

Every major coding agent

Claude Code, Codex, OpenCode, Copilot, Cursor, Antigravity, Cline, Pi and more. Each one runs as a managed session, with live status, resume and custom launch arguments.

Claude Code, Codex, a dev server and a shell side by side in one VelaTerm window

A full agent dev environment

Follow an agent's plan, edits, commands and test results as a conversation, or switch the same session to the terminal view and work in its TUI.

An agent session in the conversation view, with the plan, edits, commands and test results

Sessions in a tree

Projects → groups → nested sub-groups → sessions. However many sessions you run, they stay in order. Every session is a real pseudo-terminal that keeps running in the background, and sessions can be split side by side.

Projects, groups, nested groups and sessions in the session tree

Commands and paths, as you type

Command and path suggestions appear as you type. Choose with the arrow keys, then press Tab to accept.

Command suggestions appearing while typing a git command

Know the moment an agent needs you

Session states follow the conversation live, in the session tree and the status bar, with a desktop notification when an agent finishes and waits for you.

Session states in the session tree, the status bar and a notification

Usage and load, live

While the agent works, the right panel keeps plan quota, context, tokens and system load in view.

The info panel with plan quota, context, tokens and system load

Agents together

One command, one sub-session

An agent can hand a side task to a child session with vspawn: pick the agent, model and effort, and give it its own worktree when needed. The child appears under its parent in the tree.

An agent starting a child session with vspawn

Agents talk across sessions

Sessions running Claude, Codex, OpenCode or Pi can search each other's conversations, ask about them, and send each other messages.

CommandWhat it does
vsearchSearch every session
vreferRead a conversation, or ask about it
vtellMessage another session; with --steer the message joins the turn that is already running
A Claude session asking about a Codex session with vsearch and vrefer A Claude session steering a Codex session with vtell

One big task, a team of sessions

Plan / Execute mode splits a large task across several agent sessions, each with one job. The planner writes the plan, splits the work and reviews every result; the executors each build one part in its own worktree and report back.

  1. Plan. Pick agents, models and reasoning effort for planning and execution separately.
  2. Execute. The planner proposes the split; you edit tasks and models before anything starts. Executors then work in parallel, one worktree each, as children of the planner in the session tree.
  3. Review. Reports come back to the planner automatically; anything short of the bar goes back to the same session, with its context intact.
A planner session dispatching two executor sessions Executor sessions working in parallel under the planner

Keep what your sessions learn

Organize a session into the Session Knowledge Base, keep Markdown notes in local knowledge bases, and search both at once. With vkb, an agent looks things up before it acts:

CommandLooks up
vkb memoriesSession knowledge
vkb notesLocal notes
vkb exploreThe code graph, queried locally without calling a model

See the notebook guide.

A knowledge base entry with its source sessions An agent looking up knowledge, notes and the code graph with vkb

Built-in tools

Editors included

A WYSIWYG Markdown editor, a code editor and an image viewer, plus a built-in browser on desktop. All of them work on remote machines too.

The WYSIWYG Markdown editor with a file tree

A little break between tasks

Open Game Center from your workspace and play Pixel Wing with a keyboard, touch controls or a controller.

Pixel Wing in Game Center

Also included

  • Code audits. Bundled Codex Security workflows using your logged-in local Codex or Claude Code, with source evidence, coverage limits and Markdown/JSON reports. See the code audit guide.
  • Git integration. Branch, ahead/behind and change counts per session, plus common actions.
  • Themes and languages. Light and dark themes that follow the system, and a fully translated interface.

Anywhere

Run it anywhere

Remote access is built in: connect over SSH, or serve the app over HTTPS with end-to-end encryption.

  • Desktop. Native app for macOS, Windows and Linux. Connect to remote machines over SSH from inside the app.
  • Browser. Open a URL on any machine. No install needed. Served over HTTPS with end-to-end encryption; no readable data crosses the network.
  • Phone. A native app for iOS and Android. Scan a QR code to carry the same session tree with you.

The desktop app connected over SSH The same workspace in a browser The same session tree on a phone

Connect remotely, three ways

Connect over SSH, open a pairing link, or sign in to your account and pick one of your devices.

Connecting to a remote server over SSH

Your sessions, in your pocket

Scan a QR code to connect. Browse the tree, read agent replies as they stream and answer them, and get a push notification when an agent needs you.

The iOS and Android app showing the session tree and an agent reply

macOS, Windows and Linux

One native app on every desktop. On Windows, Git Bash comes bundled with the full installer. Built on Tauri 2: a small install that stays smooth under heavy terminal load.

PlatformArchitecturesShells
macOSApple Silicon, Intelzsh
Windowsx64, arm64PowerShell, Git Bash, WSL
Linuxx86_64, aarch64bash

VelaTerm on macOS VelaTerm on Windows with Git Bash VelaTerm on Linux

Download

From the first command to the final review. Get the installer for your platform at velaterm.com/download, then start with the getting started guide.

Documentation

Community

  • X — release announcements and short demos.
  • YouTube — demos and guided tours of the application.
  • Discord — questions, bug reports and everyday discussion.
  • velaterm.com — downloads, manuals and the changelog.

Development

Tech stack

LayerChoice
Desktop shellTauri 2.x (Rust backend + system WebView); an Electron shell also lives in electron/
PTYportable-pty (wezterm)
FrontendReact 19 + TypeScript + Vite
Terminalxterm.js with the fit, web-links, search, image, and unicode11 addons
StateZustand
PersistenceSQLite via rusqlite (bundled)
StylingTailwind v4 with CSS-variable themes

Build from source

Prerequisites: Node.js, pnpm, the Rust toolchain, and git. Tauri also needs its platform dependencies — see the Tauri prerequisites guide.

pnpm install          # install frontend dependencies
pnpm dev:desktop      # build the Rust backend and open the desktop window

Other development modes:

pnpm dev:web          # headless backend + Vite, driven from a normal browser
pnpm dev:electron     # the Electron shell instead of Tauri
pnpm dev:ls           # list running dev instances
pnpm dev:stop <label> # stop one instance by label

Every dev instance picks a random port and carries a label, so several can run side by side. dev:web binds 0.0.0.0, so it also prints a LAN address that another computer or a phone can open, and it defaults to an isolated database under .dev-data/, leaving your real session tree untouched.

Build and test:

pnpm build                                        # type-check and bundle the frontend
pnpm tauri build                                  # build the desktop application
pnpm test                                         # frontend tests (vitest)
pnpm lint                                         # eslint
cargo test --manifest-path src-tauri/Cargo.toml   # backend tests

Project layout

src/              React frontend
  layout/         three-column + bottom-bar regions
  store/          Zustand state
  ipc/            invoke / listen wrappers
  terminal/       xterm instance registry
  i18n/           translations, with English as the key source
  remote/         browser remote access and pairing
  mobile/         phone browser layout
src-tauri/src/    Rust backend
  pty/            PTY manager
  db/             SQLite persistence
  agent/          agent detection, status, transcripts, spawning
  web/            embedded web server and command dispatch
  git.rs          git status probing
electron/         Electron shell
skills/           agent skills exposed inside VelaTerm sessions
docs/manuals/     user manuals

Contributing

Three conventions matter most in this codebase:

  1. All user-facing strings are English and go through i18n (src/i18n/). English is the key source; a missing key fails the type check. This includes strings returned from the Rust backend, which surface directly in the UI.
  2. All code comments are written in English.
  3. Please do not run cargo fmt. The Rust sources are hand-formatted and this project does not use rustfmt. Running it rewrites large parts of files a change never touched, which buries the actual diff. Match the style of the surrounding code instead.

Any command touching the network or the filesystem must be asynchronous — synchronous Tauri commands run on the main thread and freeze the UI.

License

Copyright (c) 2026 VLINX Software. Released under the MIT License.

You may use, copy, modify, merge, publish, distribute, sublicense and sell copies of VelaTerm, for any purpose, as long as the copyright notice and the licence text travel with it.

ai
ai-agent
claude
claude-code
codex
coding
developer-tools
react
rust
tauri
tauri2
terminal
terminal-emulator
tmux

vlinx-io/VelaTerm

VelaTerm = Codex + iTerm2, The Best ADE for AI Coding

TypeScript

259

66 commits

updated Oct 6, 2026

See the code

See what people are saying

SourceMessageScoreDate

Agent Communication &amp; Orchestration in VelaTerm (r/ClaudeAI)

Hi, I built VelaTerm, a terminal and workspace for Claude Code and other coding agents, with help from Claude Code. One concrete example of how I used Claude: I asked Claude Code to expose VelaTerm’s existing conversation reader and full-text search as commands agents could use. It implemented…

23

Oct 7, 2026

README

VelaTerm

English | 简体中文

The best ADE. Not just a terminal. Not just an IDE.

Manage agent sessions like Codex. Split terminals like iTerm2. VelaTerm keeps both in one native app, and brings them to your browser and your phone.

License: MIT Website X YouTube Discord

Codex session management plus iTerm2 split panes equals VelaTerm, the agentic development environment. Click to watch the intro video.

Watch the intro video (2:55) · Download · User manual

Workspace

Every major coding agent

Claude Code, Codex, OpenCode, Copilot, Cursor, Antigravity, Cline, Pi and more. Each one runs as a managed session, with live status, resume and custom launch arguments.

Claude Code, Codex, a dev server and a shell side by side in one VelaTerm window

A full agent dev environment

Follow an agent's plan, edits, commands and test results as a conversation, or switch the same session to the terminal view and work in its TUI.

An agent session in the conversation view, with the plan, edits, commands and test results

Sessions in a tree

Projects → groups → nested sub-groups → sessions. However many sessions you run, they stay in order. Every session is a real pseudo-terminal that keeps running in the background, and sessions can be split side by side.

Projects, groups, nested groups and sessions in the session tree

Commands and paths, as you type

Command and path suggestions appear as you type. Choose with the arrow keys, then press Tab to accept.

Command suggestions appearing while typing a git command

Know the moment an agent needs you

Session states follow the conversation live, in the session tree and the status bar, with a desktop notification when an agent finishes and waits for you.

Session states in the session tree, the status bar and a notification

Usage and load, live

While the agent works, the right panel keeps plan quota, context, tokens and system load in view.

The info panel with plan quota, context, tokens and system load

Agents together

One command, one sub-session

An agent can hand a side task to a child session with vspawn: pick the agent, model and effort, and give it its own worktree when needed. The child appears under its parent in the tree.

An agent starting a child session with vspawn

Agents talk across sessions

Sessions running Claude, Codex, OpenCode or Pi can search each other's conversations, ask about them, and send each other messages.

CommandWhat it does
vsearchSearch every session
vreferRead a conversation, or ask about it
vtellMessage another session; with --steer the message joins the turn that is already running
A Claude session asking about a Codex session with vsearch and vrefer A Claude session steering a Codex session with vtell

One big task, a team of sessions

Plan / Execute mode splits a large task across several agent sessions, each with one job. The planner writes the plan, splits the work and reviews every result; the executors each build one part in its own worktree and report back.

  1. Plan. Pick agents, models and reasoning effort for planning and execution separately.
  2. Execute. The planner proposes the split; you edit tasks and models before anything starts. Executors then work in parallel, one worktree each, as children of the planner in the session tree.
  3. Review. Reports come back to the planner automatically; anything short of the bar goes back to the same session, with its context intact.
A planner session dispatching two executor sessions Executor sessions working in parallel under the planner

Keep what your sessions learn

Organize a session into the Session Knowledge Base, keep Markdown notes in local knowledge bases, and search both at once. With vkb, an agent looks things up before it acts:

CommandLooks up
vkb memoriesSession knowledge
vkb notesLocal notes
vkb exploreThe code graph, queried locally without calling a model

See the notebook guide.

A knowledge base entry with its source sessions An agent looking up knowledge, notes and the code graph with vkb

Built-in tools

Editors included

A WYSIWYG Markdown editor, a code editor and an image viewer, plus a built-in browser on desktop. All of them work on remote machines too.

The WYSIWYG Markdown editor with a file tree

A little break between tasks

Open Game Center from your workspace and play Pixel Wing with a keyboard, touch controls or a controller.

Pixel Wing in Game Center

Also included

  • Code audits. Bundled Codex Security workflows using your logged-in local Codex or Claude Code, with source evidence, coverage limits and Markdown/JSON reports. See the code audit guide.
  • Git integration. Branch, ahead/behind and change counts per session, plus common actions.
  • Themes and languages. Light and dark themes that follow the system, and a fully translated interface.

Anywhere

Run it anywhere

Remote access is built in: connect over SSH, or serve the app over HTTPS with end-to-end encryption.

  • Desktop. Native app for macOS, Windows and Linux. Connect to remote machines over SSH from inside the app.
  • Browser. Open a URL on any machine. No install needed. Served over HTTPS with end-to-end encryption; no readable data crosses the network.
  • Phone. A native app for iOS and Android. Scan a QR code to carry the same session tree with you.

The desktop app connected over SSH The same workspace in a browser The same session tree on a phone

Connect remotely, three ways

Connect over SSH, open a pairing link, or sign in to your account and pick one of your devices.

Connecting to a remote server over SSH

Your sessions, in your pocket

Scan a QR code to connect. Browse the tree, read agent replies as they stream and answer them, and get a push notification when an agent needs you.

The iOS and Android app showing the session tree and an agent reply

macOS, Windows and Linux

One native app on every desktop. On Windows, Git Bash comes bundled with the full installer. Built on Tauri 2: a small install that stays smooth under heavy terminal load.

PlatformArchitecturesShells
macOSApple Silicon, Intelzsh
Windowsx64, arm64PowerShell, Git Bash, WSL
Linuxx86_64, aarch64bash

VelaTerm on macOS VelaTerm on Windows with Git Bash VelaTerm on Linux

Download

From the first command to the final review. Get the installer for your platform at velaterm.com/download, then start with the getting started guide.

Documentation

Community

  • X — release announcements and short demos.
  • YouTube — demos and guided tours of the application.
  • Discord — questions, bug reports and everyday discussion.
  • velaterm.com — downloads, manuals and the changelog.

Development

Tech stack

LayerChoice
Desktop shellTauri 2.x (Rust backend + system WebView); an Electron shell also lives in electron/
PTYportable-pty (wezterm)
FrontendReact 19 + TypeScript + Vite
Terminalxterm.js with the fit, web-links, search, image, and unicode11 addons
StateZustand
PersistenceSQLite via rusqlite (bundled)
StylingTailwind v4 with CSS-variable themes

Build from source

Prerequisites: Node.js, pnpm, the Rust toolchain, and git. Tauri also needs its platform dependencies — see the Tauri prerequisites guide.

pnpm install          # install frontend dependencies
pnpm dev:desktop      # build the Rust backend and open the desktop window

Other development modes:

pnpm dev:web          # headless backend + Vite, driven from a normal browser
pnpm dev:electron     # the Electron shell instead of Tauri
pnpm dev:ls           # list running dev instances
pnpm dev:stop <label> # stop one instance by label

Every dev instance picks a random port and carries a label, so several can run side by side. dev:web binds 0.0.0.0, so it also prints a LAN address that another computer or a phone can open, and it defaults to an isolated database under .dev-data/, leaving your real session tree untouched.

Build and test:

pnpm build                                        # type-check and bundle the frontend
pnpm tauri build                                  # build the desktop application
pnpm test                                         # frontend tests (vitest)
pnpm lint                                         # eslint
cargo test --manifest-path src-tauri/Cargo.toml   # backend tests

Project layout

src/              React frontend
  layout/         three-column + bottom-bar regions
  store/          Zustand state
  ipc/            invoke / listen wrappers
  terminal/       xterm instance registry
  i18n/           translations, with English as the key source
  remote/         browser remote access and pairing
  mobile/         phone browser layout
src-tauri/src/    Rust backend
  pty/            PTY manager
  db/             SQLite persistence
  agent/          agent detection, status, transcripts, spawning
  web/            embedded web server and command dispatch
  git.rs          git status probing
electron/         Electron shell
skills/           agent skills exposed inside VelaTerm sessions
docs/manuals/     user manuals

Contributing

Three conventions matter most in this codebase:

  1. All user-facing strings are English and go through i18n (src/i18n/). English is the key source; a missing key fails the type check. This includes strings returned from the Rust backend, which surface directly in the UI.
  2. All code comments are written in English.
  3. Please do not run cargo fmt. The Rust sources are hand-formatted and this project does not use rustfmt. Running it rewrites large parts of files a change never touched, which buries the actual diff. Match the style of the surrounding code instead.

Any command touching the network or the filesystem must be asynchronous — synchronous Tauri commands run on the main thread and freeze the UI.

License

Copyright (c) 2026 VLINX Software. Released under the MIT License.

You may use, copy, modify, merge, publish, distribute, sublicense and sell copies of VelaTerm, for any purpose, as long as the copyright notice and the licence text travel with it.

ai
ai-agent
claude
claude-code
codex
coding
developer-tools
react
rust
tauri
tauri2
terminal
terminal-emulator
tmux

Significant stargazers

Martin Mauch

201 followers · starred Aug 2026

Stéphane Wirtel

224 followers · starred Aug 2026