Dev & Engineering tmuxterminal-multiplexerelectroncanvas-uiagent-orchestrationkanban-boardssh-remote

nodeterm

Turns terminals and AI coding agents into draggable nodes on an infinite canvas, replacing stacked tabs with a spatial layout for parallel agent sessions.

FollowAgents review · FARS-2.1
Use with care
65/ 100 5-point scale 3.3 / 5
1 2 3 4 5 6
1Trust17 / 29 · 2.9/5

Evidence shows least-privilege CI (contents:read), a real grant ledger with per-caller consent gates for cross-project opens (acceptance test exercises confirm, grant, refusal, teardown paths), dictation with review-before-send and fully local Whisper, and tweetnacl E2EE with tamper-failure tests. Deductions: dependency security rests only on package. ranges and a dompurify override — no lockfile audit or scanner evidence; Windows installer is unsigned; curl|bash install/uninstall scripts are not auditable within the provided files; publisher identity is unverified and package author is a personal email, so attribution is thin.

2Reliability9 / 14 · 3.2/5

README, package., and workflows are mostly self-consistent (though engines' Node range is narrower than the README's 'Node 20+'); documented degradation without tmux (issue #126), a Windows bootstrap script for build deps, and a Windows-targeted CI subset covering the atomic-write retry. Deductions: Windows session continuity is not yet landed; the engine-range vs README mismatch is a small internal inconsistency.

3Adaptability12 / 18 · 3.3/5

Audience and scenarios are precisely defined (scattered workflows, parallel agents, desktop/Server/iOS surfaces); per-platform limitations are honestly stated (unsigned Windows beta, manual .deb updates, lid-sleep caveat); SSH-remote and browser environments are supported. Deductions: no AGENTS.md-style manifest; the canvas-control CLI and agent trigger semantics are only asserted in prose, and the mobile app lives in a separate repo outside the evidence.

4Convention14 / 18 · 3.9/5

Information architecture is thorough (download, build, architecture, shortcuts, docs site), install notes cover per-platform quirks and failure modes (brew trust prerequisite), and known limitations are detailed and current. Deductions: registry metadata says NOASSERTION while LICENSE is BUSL-1.1 (the license file itself is complete and explicit); no standalone CHANGELOG file (notes are generated in the release workflow); package name node-terminal vs product nodeterm is a mild naming drift; examples/FAQ live mostly on the external docs site, not evidenced in-repo.

5Effectiveness9 / 13 · 3.5/5

Output usability is well supported: shortcut table, command palette, RUNNING/NEEDS YOU badges, artifact-name verification in the release job, and a documented uninstall inventory. Marginal value lies in hook-based agent status (no output scraping) on a spatial canvas with bundled tmux. Cost/benefit notes address power use and self-hosted runners. Deductions: these are declarative claims — static files cannot prove runtime utility; the 1.2k downloads badge is hand-written, not auto-sourced.

6Verifiability4 / 8 · 2.5/5

Claims are generally traceable to numbered issues/PRs (#338, #579, #454, #126); workflow comments explicitly separate incident facts from inference; tests exercise real primitives across layers. Deductions: docs site, star counts, Trendshift, and the App Store listing cannot be corroborated from the repository; the downloads figure has no verifiable source in-repo.

Evidence confidence: Low Reviewed Sep 07, 2026 Reviewed revision f456e888846b
Before you use it
  • The Windows installer is unsigned with auto-update disabled; SmartScreen will warn — treat it as trial-only.
  • Registry metadata says NOASSERTION but the actual license is BUSL-1.1 (not open source); competing/commercial hosting use is restricted — rely on the in-repo LICENSE.
  • Install/uninstall use curl|bash pipes; review the scripts before running and use --dry-run first.
  • This was a static review with no code executed; dependency vulnerability status is unverified — run npm audit and inspect the lockfile before deploying.
  • The publisher is an unverified individual (personal email contact); enterprise procurement should do its own diligence.
  • The app merges status-hook entries into your agent CLIs' configs; back up those configs before first use even though the uninstall script claims to revert them.
Review evidence [1][2][3][4][5][6][7][8]
See the full review method →

What does this agent do, and when should you use it?

nodeterm (GitHub: eneskirca/nodeterm) is a node-based terminal manager for developers running multiple AI coding agents. Every terminal and agent session runs in its own persistent tmux session and appears as a draggable node on a pan/zoom infinite canvas; each project is simultaneously a Trello-style kanban board whose cards are live sessions. Built with Electron behind a CorePlatform service seam, one renderer ships as three surfaces: the desktop app for macOS, Linux and Windows (beta), a self-hosted browser Server Edition, and an iOS mobile companion. Agents supported include Claude Code, Codex, Gemini, GitHub Copilot, opencode, Grok and custom CLIs, surfaced through hook-driven RUNNING / NEEDS YOU badges rather than output scraping. It is licensed under BUSL-1.1, with each release converting to MIT four years after publication.

nodeterm creates several node kinds on the canvas: Terminal (xterm + tmux, AI naming), Agent (Claude Code / Codex / Gemini / GitHub Copilot / opencode / Grok / custom), sticky notes (linkable as agent context), Monaco editors, diff views, web/video nodes, and groups bound to git worktrees. Hook-driven status powers RUNNING / NEEDS YOU badges, subagent cards with live transcripts, per-node context meters and OS notifications, with permission prompts answered directly in the node. Every project is both a canvas and a kanban board (⌘⇧B) — cards drag between columns, open into a live card modal, assign teammates, and sync GitHub Issues two-way. It also provides VS Code-style source control (stage, commit, push, worktrees), SSH remote projects, on-device Whisper dictation (hold ⌘⌥), AI commit messages and terminal names (a local agent CLI run read-only on staged diffs), and a canvas-control CLI letting agents drive the canvas. The macOS app ships its own bundled tmux; sessions survive app restarts and machine reboots, restoring scrollback and resuming with claude --resume.

  1. ADHD or heavily multitasking developers running several Claude Code / Codex sessions who lose track of context in stacked tabs
  2. Engineering teams managing per-branch agent workflows via git worktree-bound groups
  3. Heavy tmux users who want to check or answer agents from an iPhone via QR pairing and E2E-encrypted relay
  4. Remote workers hosting agent sessions on an always-on Linux box accessed from any browser (Server Edition / headless notification host)
  5. Anyone needing overnight agent runs with idle-sleep prevention and push NEEDS YOU notifications

What are this agent's strengths and limitations?

Pros
  • tmux-backed sessions persist across app restarts and full machine reboots; macOS ships its own tmux so nothing needs installing
  • Hook-driven agent status (no output scraping) plus subagent cards and in-node permission answering
  • Three surfaces — desktop, browser Server Edition, iOS companion — from one codebase with clean CorePlatform / TerminalTransport seams
  • Dual canvas + kanban views with two-way GitHub Issues sync and worktree-bound groups built for real agent workflows
Limitations
  • Licensed under BUSL-1.1, not an OSI open-source license — competitive offering is prohibited and commercial licensing requires contacting the author
  • Windows is beta: unsigned installer, manual updates, and no tmux means session continuity across restarts is still landing (#579)
  • Depends on system tools like tmux and git; environments without tmux lose key functionality
  • Tied to locally installed and logged-in agent CLIs; some advanced features (conversation branching, managed accounts) are Claude-only

How do you install or deploy this agent?

Download from nodeterm.dev: macOS .dmg or Homebrew (brew tap nodeterm/tap; brew trust nodeterm/tap; brew install --cask nodeterm); Linux self-updating AppImage or .deb (sudo apt install ./nodeterm-*.deb); Windows (beta) unsigned Setup .exe. iOS companion on the App Store (nodeterm mobile). Building from source requires Node.js 20+ and tmux: npm install; npm run dev / npm run build. Server Edition: npm run server:dev (Node 22 + tmux), then open http://127.0.0.1:8443 and set a password. Headless notification host: curl -fsSL https://raw.githubusercontent.com/eneskirca/nodeterm/main/scripts/install-server.sh | bash (installs as a systemd service).

How do you use this agent?

Launch and right-click empty canvas space to open a terminal or agent node. Shortcuts: ⌘T new terminal, ⌘⇧C new Claude Code session, ⌘K command palette, ⌘⇧B toggle the board, ⌘⇧E file explorer, hold ⌘⌥ to dictate. Agent activity surfaces as RUNNING / NEEDS YOU badges and notifications; click to answer permission prompts inside the node (on MacBooks, status also lives in the notch). Pair the iOS app by scanning a QR to attach to the same live session. All shortcuts are remappable in Settings → Keyboard Shortcuts; uninstall via the official uninstall.sh script (try --dry-run first).

How does this agent compare with similar options?

The README contrasts itself with stacked-tab terminals and Trello-style boards (Trello is named only in a trademark disclaimer); no direct competitor is named.

FAQ

Is it free?
The repository lists no pricing. The app is downloadable from nodeterm.dev under BUSL-1.1: production use is allowed under the Additional Use Grant, competitive offering is not, and each release becomes MIT after four years. Commercial licenses: [email protected].
What dependencies does it need?
Node.js 20+ (for source builds) and tmux (recommended; the basis of session persistence). The macOS app bundles tmux and prefers any system tmux. The Server Edition needs Node.js 22 + tmux.
How are agent permission prompts handled?
Agents notify nodeterm via hooks (no output scraping); nodes show a NEEDS YOU badge and send OS/push notifications, and you answer the permission prompt right inside the node.
Can I use it remotely?
Yes: self-host the Server Edition for browser access; pair the iOS app via QR to reach the same live session over an E2E-encrypted relay (not just your LAN); or open SSH remote projects that run terminals, files, git, and the board on a remote host.
How do I uninstall cleanly?
The official uninstall.sh stops every process nodeterm started, reverts the hook/skill entries it merged into your agent CLIs' config, and deletes its own state; run with --dry-run first. Details in docs/uninstall.md.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents