ThinkRail
Open-source desktop app for Mac, Windows and Linux. Agents run on your computer.
Product websitethinkrail.ai Compare with others Missing or wrong data?
- Desktop app
- Mac, Windows and Linux
- Browser
- Yes
- Phone
- Phone browser
- Command line
- Yes
- Agents
- Pi
- Your subscription
- Works with your own plan
- Agents run
- On your computer
- Laptop closed
- Not listed
- Isolation
- Worktree
- Parallel agents
- Yes
- Scheduled runs
- No
- Coordinator agent
- Yes
- Built-in issues
- Yes
- Pull requests
- Yes
- Review screen
- Yes
- Team
- No
- Self-hosting
- Yes
- Licence
- Apache-2.0
- Price from
- Free
- How it charges
- No paid plan and bring your own key
- Paid plans from
- Not listed
Receipts
- Checked
- Findings
- 50 published · 49 cross-checked by a second agent · read them all
- Sources
- 47 public pages on 2 sites: thinkrail.ai, github.com
- GitHub stars
- 8,189 on · github.com · repository attention, not users or capability
- Screenshot
- github.com, retrieved · first party repository · shows appearance, not capability
- Data
- /products/thinkrail.json · .md
- Method
- Same rules for all 103 researched ADEs. How we check · Report wrong data
What it does
Where you use it
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
Source and scope for Where you use itAgents it runs
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
Source and scope for Agents it runsAccounts and subscriptions
ThinkRail uses provider API keys and Pi's native OAuth login, including Anthropic subscription credentials recognized by the embedded runtime. External CLI accounts are setup signals rather than borrowed credentials; there is no ThinkRail credit system.
Source and scope for Accounts and subscriptionsWhere agents run
Execution is local: the desktop app and the CLI host run the in-process pi engine on the user’s own machine, provisioned by the installer, with no vendor cloud, no user-server path and no resource, region or expiry concepts. State rebuilds on other surfaces over the wire, but execution does not survive the originating host.
Source and scope for Where agents runHow work is kept apart
Isolation is git worktrees: separate directories, branches and cwds per workspace on the same machine and OS user, with env-based secret handling. No container, VM, OS-sandbox, process or network boundary exists; pi runs in-process. A worktree is file separation, not a security boundary.
Source and scope for How work is kept apartParallel work
Several sessions run concurrently per workspace and several workspaces run in parallel, each isolated on its own branch and cwd — implemented in the session manager with parallel Agent calls and background commands. The Projects rail and Resources views show running work. No quotas exist.
Source and scope for Parallel workScheduled runs
Unattended triggers do not exist: bounded v0.3.2 inspection of packages/server, apps/* and packages/* for schedul|cron|trigger|recur|setInterval-based scheduling found only UI polling, update checks and request replay. No schedules, event triggers, recurring tasks or completion-driven runs exist.
Source and scope for Scheduled runsGit and pull requests
The full GitHub loop is integrated in the topbar: own branches and worktrees, per-step commits, PR open/update through gh with templates or agent drafts, CI response with Fix-with-agent, rebase preview, and merge/reopen/branch-delete actions — all present in the pinned pr/github modules. PR-comment round-trips and GitLab review actions are the limits.
Source and scope for Git and pull requestsLicence and source
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
Source and scope for Licence and sourcePrice
ThinkRail itself is free: Apache-2.0 source, free downloads, no accounts, no paid plan and no metered units. Model and compute spend belongs to the user’s own providers and hardware and is never billed or marked up by ThinkRail. Billing dimensions do not apply to a product with no paid offering.
Source and scope for PriceTyped filters
Every value links to its receipt below. Read plan and surface restrictions before using a filter to decide.
| Filter | Value |
|---|---|
| Desktop OS: macOS | Yes cross-checked |
| Desktop OS: Windows | Yes cross-checked |
| Desktop OS: Linux | Yes cross-checked |
| Web client | Yes cross-checked |
| Phone access: Native iOS | No cross-checked |
| Phone access: Native Android | No cross-checked |
| Phone access: Phone browser | Yes cross-checked |
| CLI | Yes cross-checked |
| Coding agents: Claude Code | No cross-checked |
| Coding agents: Codex | No cross-checked |
| Coding agents: Cursor Agent | No cross-checked |
| Coding agents: Gemini CLI | No cross-checked |
| Coding agents: OpenCode | No cross-checked |
| Coding agents: Pi | Yes cross-checked |
| Coding agents: Grok | No cross-checked |
| Coding agents: Aider | No cross-checked |
| Coding agents: Antigravity | No cross-checked |
| Use my subscription | Yes |
| Where agents run: On your computer | Yes cross-checked |
| Where agents run: On your own server | No cross-checked |
| Where agents run: In the vendor's cloud | No cross-checked |
| Workspace isolation: Git worktree | Yes cross-checked |
| Workspace isolation: Container | No cross-checked |
| Workspace isolation: VM or microVM | No cross-checked |
| Parallel runs | Yes cross-checked |
| Coordinator | Yes cross-checked |
| Native issue tracking | Yes |
| Unattended triggers | No cross-checked |
| Shared prompting | No cross-checked |
| Team roles | No cross-checked |
| SSO | No cross-checked |
| Pull request workflow | Yes cross-checked |
| Review interface | Yes cross-checked |
| Product license: Apache-2.0 | Yes. Apache-2.0 cross-checked |
| Product license: MIT | No. Apache-2.0 cross-checked |
| Product license: GPL-3.0 | No. Apache-2.0 cross-checked |
| Product license: GPL-3.0-or-later | No. Apache-2.0 cross-checked |
| Product license: AGPL-3.0 | No. Apache-2.0 cross-checked |
| Product license: AGPL-3.0-or-later | No. Apache-2.0 cross-checked |
| Product license: Elastic License 2.0 | No. Apache-2.0 cross-checked |
| Product license: Custom terms | No. Apache-2.0 cross-checked |
| Product license: Proprietary | No. Apache-2.0 cross-checked |
| Self-hosting | Yes cross-checked |
| Telemetry opt-out | No cross-checked |
| Free access | Yes cross-checked |
| Starting price: Free | Yes. Free cross-checked |
| Starting price: Up to $20/month | No. Free cross-checked |
| Starting price: $21–40/month | No. Free cross-checked |
| Starting price: $41–100/month | No. Free cross-checked |
| Starting price: Over $100/month | No. Free cross-checked |
| Starting price: Contact for pricing | No. Free cross-checked |
| Pricing model: Free, no paid plan | Yes cross-checked |
| Pricing model: Free plan | No |
| Pricing model: Subscription | No |
| Pricing model: Per seat | No |
| Pricing model: Usage-based | No |
| Pricing model: Per machine or compute | No |
| Pricing model: Bring your own key | Yes |
| Pricing model: One-time purchase | No |
| Paid plans from: No paid plan | Unknown |
| Paid plans from: $10 or less/month | Unknown |
| Paid plans from: $11–20/month | Unknown |
| Paid plans from: $21–40/month | Unknown |
| Paid plans from: $41–100/month | Unknown |
| Paid plans from: Over $100/month | Unknown |
| Paid plans from: Contact sales | Unknown |
| Lifecycle status: Active | Unknown |
| Lifecycle status: Sunsetting | Unknown |
| Keeps going with laptop closed | Unknown |
| Open-source license | Yes. Apache-2.0 cross-checked |
| Any desktop app | Yes cross-checked |
| Paid plan up to $20/month | Unknown |
| Paid plan up to $40/month | Unknown |
| Any phone client | Yes cross-checked |
Filter receipts
Desktop OS: macOS: Yes cross-checked
Desktop OS: macOS
Typed value: Yes.
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
- Desktop os: Desktop installers cover macOS 14+ Apple Silicon/Intel (DMG), Windows x64 (setup zip) and Linux x64/ARM64 (setup tarball plus installer).
- Mobile apps: Client access, mobile_apps: the install matrix (README Installation plus landing install section) is the complete first-party list of shipped clients — macOS, Windows and Linux desktop plus the CLI browser host — and omits any native iOS or Android app. No mobile packaging exists in apps/ (cli, desktop, web, website only).
- Browser: The thinkrail CLI opens the same app in a browser; desktop and browser hosts embed the same engine host.
- Cli: The product-owned thinkrail launcher CLI installs, updates (stable/nightly channels), opens projects and prints help/version; model and agent work stay pi’s.
- Notifications: Desktop notifications plus in-app waiting markers: attention engine with per-session unread holds (apps/web/src/notifications) and the palette urgency list; Linux desktop builds require libnotify.
- The complete install list omits native phone apps and editor extensions. Cross-device state rebuilds; running execution stays on the originating host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
Desktop OS: Windows: Yes cross-checked
Desktop OS: Windows
Typed value: Yes.
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
- Desktop os: Desktop installers cover macOS 14+ Apple Silicon/Intel (DMG), Windows x64 (setup zip) and Linux x64/ARM64 (setup tarball plus installer).
- Mobile apps: Client access, mobile_apps: the install matrix (README Installation plus landing install section) is the complete first-party list of shipped clients — macOS, Windows and Linux desktop plus the CLI browser host — and omits any native iOS or Android app. No mobile packaging exists in apps/ (cli, desktop, web, website only).
- Browser: The thinkrail CLI opens the same app in a browser; desktop and browser hosts embed the same engine host.
- Cli: The product-owned thinkrail launcher CLI installs, updates (stable/nightly channels), opens projects and prints help/version; model and agent work stay pi’s.
- Notifications: Desktop notifications plus in-app waiting markers: attention engine with per-session unread holds (apps/web/src/notifications) and the palette urgency list; Linux desktop builds require libnotify.
- The complete install list omits native phone apps and editor extensions. Cross-device state rebuilds; running execution stays on the originating host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
Desktop OS: Linux: Yes cross-checked
Desktop OS: Linux
Typed value: Yes.
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
- Desktop os: Desktop installers cover macOS 14+ Apple Silicon/Intel (DMG), Windows x64 (setup zip) and Linux x64/ARM64 (setup tarball plus installer).
- Mobile apps: Client access, mobile_apps: the install matrix (README Installation plus landing install section) is the complete first-party list of shipped clients — macOS, Windows and Linux desktop plus the CLI browser host — and omits any native iOS or Android app. No mobile packaging exists in apps/ (cli, desktop, web, website only).
- Browser: The thinkrail CLI opens the same app in a browser; desktop and browser hosts embed the same engine host.
- Cli: The product-owned thinkrail launcher CLI installs, updates (stable/nightly channels), opens projects and prints help/version; model and agent work stay pi’s.
- Notifications: Desktop notifications plus in-app waiting markers: attention engine with per-session unread holds (apps/web/src/notifications) and the palette urgency list; Linux desktop builds require libnotify.
- The complete install list omits native phone apps and editor extensions. Cross-device state rebuilds; running execution stays on the originating host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
Web client: Yes cross-checked
Web client
Typed value: Yes.
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
- Desktop os: Desktop installers cover macOS 14+ Apple Silicon/Intel (DMG), Windows x64 (setup zip) and Linux x64/ARM64 (setup tarball plus installer).
- Mobile apps: Client access, mobile_apps: the install matrix (README Installation plus landing install section) is the complete first-party list of shipped clients — macOS, Windows and Linux desktop plus the CLI browser host — and omits any native iOS or Android app. No mobile packaging exists in apps/ (cli, desktop, web, website only).
- Browser: The thinkrail CLI opens the same app in a browser; desktop and browser hosts embed the same engine host.
- Cli: The product-owned thinkrail launcher CLI installs, updates (stable/nightly channels), opens projects and prints help/version; model and agent work stay pi’s.
- Notifications: Desktop notifications plus in-app waiting markers: attention engine with per-session unread holds (apps/web/src/notifications) and the palette urgency list; Linux desktop builds require libnotify.
- The complete install list omits native phone apps and editor extensions. Cross-device state rebuilds; running execution stays on the originating host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
Phone access: Native iOS: No cross-checked
Phone access: Native iOS
Typed value: No.
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
- Desktop os: Desktop installers cover macOS 14+ Apple Silicon/Intel (DMG), Windows x64 (setup zip) and Linux x64/ARM64 (setup tarball plus installer).
- Mobile apps: Client access, mobile_apps: the install matrix (README Installation plus landing install section) is the complete first-party list of shipped clients — macOS, Windows and Linux desktop plus the CLI browser host — and omits any native iOS or Android app. No mobile packaging exists in apps/ (cli, desktop, web, website only).
- Browser: The thinkrail CLI opens the same app in a browser; desktop and browser hosts embed the same engine host.
- Cli: The product-owned thinkrail launcher CLI installs, updates (stable/nightly channels), opens projects and prints help/version; model and agent work stay pi’s.
- Notifications: Desktop notifications plus in-app waiting markers: attention engine with per-session unread holds (apps/web/src/notifications) and the palette urgency list; Linux desktop builds require libnotify.
- The complete install list omits native phone apps and editor extensions. Cross-device state rebuilds; running execution stays on the originating host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
Phone access: Native Android: No cross-checked
Phone access: Native Android
Typed value: No.
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
- Desktop os: Desktop installers cover macOS 14+ Apple Silicon/Intel (DMG), Windows x64 (setup zip) and Linux x64/ARM64 (setup tarball plus installer).
- Mobile apps: Client access, mobile_apps: the install matrix (README Installation plus landing install section) is the complete first-party list of shipped clients — macOS, Windows and Linux desktop plus the CLI browser host — and omits any native iOS or Android app. No mobile packaging exists in apps/ (cli, desktop, web, website only).
- Browser: The thinkrail CLI opens the same app in a browser; desktop and browser hosts embed the same engine host.
- Cli: The product-owned thinkrail launcher CLI installs, updates (stable/nightly channels), opens projects and prints help/version; model and agent work stay pi’s.
- Notifications: Desktop notifications plus in-app waiting markers: attention engine with per-session unread holds (apps/web/src/notifications) and the palette urgency list; Linux desktop builds require libnotify.
- The complete install list omits native phone apps and editor extensions. Cross-device state rebuilds; running execution stays on the originating host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
Phone access: Phone browser: Yes cross-checked
Phone access: Phone browser
Typed value: Yes.
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
- Mobile browser: The mobile-first React UI adapts below 767px (viewport phone queries) and a phone reaches the selected host over Tailscale; no native app exists.
- Cross device continuity: Client access, cross_device_continuity: hydrate-then-stream rebuilds the same projects, workspaces, sessions and transcripts on a second tab, phone or restart (contracts session.list/session.getMessages), but execution stays on the originating host with no handoff of running work.
- The complete install list omits native phone apps and editor extensions. Cross-device state rebuilds; running execution stays on the originating host.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
CLI: Yes cross-checked
CLI
Typed value: Yes.
The product-owned thinkrail CLI is a launcher with an exhaustive inventory: open, update and uninstall plus connection flags; it exposes no agent operations. The engine-to-UI wire is internal (/ws plus /health and static routes), with no public API, SDK, MCP server or webhooks in the pinned release.
- Cli: thinkrail opens projects, takes channel/version/uninstall flags and --help/--version; agent operations live in the UI, not the CLI.
- All agent operations are UI-driven. The CLI inventory is complete and omits them; no programmable surface exists.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
Coding agents: Claude Code: No cross-checked
Coding agents: Claude Code
Typed value: No.
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
- Harnesses: pi is the only engine, run in-process — explicitly no second runtime (no claude-agent-sdk). Claude Code, Codex, Copilot, Kimi CLI and Grok Build appear only as detected provider configs, never as run harnesses.
- Model providers: Providers connect through pi auth, JetBrains AI via the central CLI, and user-added OpenAI-compatible servers; the 1.5.1 catalogue held 1,639 provider/model pairs.
- Mixed harness operation: Agent and model choice, mixed_harness_operation: pi is the only engine with no second runtime and no adapter code; there is nothing to mix.
- Single-engine product: no second harness exists and mixed-harness operation is excluded.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Coding agents: Codex: No cross-checked
Coding agents: Codex
Typed value: No.
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
- Harnesses: pi is the only engine, run in-process — explicitly no second runtime (no claude-agent-sdk). Claude Code, Codex, Copilot, Kimi CLI and Grok Build appear only as detected provider configs, never as run harnesses.
- Model providers: Providers connect through pi auth, JetBrains AI via the central CLI, and user-added OpenAI-compatible servers; the 1.5.1 catalogue held 1,639 provider/model pairs.
- Mixed harness operation: Agent and model choice, mixed_harness_operation: pi is the only engine with no second runtime and no adapter code; there is nothing to mix.
- Single-engine product: no second harness exists and mixed-harness operation is excluded.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Coding agents: Cursor Agent: No cross-checked
Coding agents: Cursor Agent
Typed value: No.
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
- Harnesses: pi is the only engine, run in-process — explicitly no second runtime (no claude-agent-sdk). Claude Code, Codex, Copilot, Kimi CLI and Grok Build appear only as detected provider configs, never as run harnesses.
- Model providers: Providers connect through pi auth, JetBrains AI via the central CLI, and user-added OpenAI-compatible servers; the 1.5.1 catalogue held 1,639 provider/model pairs.
- Mixed harness operation: Agent and model choice, mixed_harness_operation: pi is the only engine with no second runtime and no adapter code; there is nothing to mix.
- Single-engine product: no second harness exists and mixed-harness operation is excluded.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Coding agents: Gemini CLI: No cross-checked
Coding agents: Gemini CLI
Typed value: No.
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
- Harnesses: pi is the only engine, run in-process — explicitly no second runtime (no claude-agent-sdk). Claude Code, Codex, Copilot, Kimi CLI and Grok Build appear only as detected provider configs, never as run harnesses.
- Model providers: Providers connect through pi auth, JetBrains AI via the central CLI, and user-added OpenAI-compatible servers; the 1.5.1 catalogue held 1,639 provider/model pairs.
- Mixed harness operation: Agent and model choice, mixed_harness_operation: pi is the only engine with no second runtime and no adapter code; there is nothing to mix.
- Single-engine product: no second harness exists and mixed-harness operation is excluded.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Coding agents: OpenCode: No cross-checked
Coding agents: OpenCode
Typed value: No.
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
- Harnesses: pi is the only engine, run in-process — explicitly no second runtime (no claude-agent-sdk). Claude Code, Codex, Copilot, Kimi CLI and Grok Build appear only as detected provider configs, never as run harnesses.
- Model providers: Providers connect through pi auth, JetBrains AI via the central CLI, and user-added OpenAI-compatible servers; the 1.5.1 catalogue held 1,639 provider/model pairs.
- Mixed harness operation: Agent and model choice, mixed_harness_operation: pi is the only engine with no second runtime and no adapter code; there is nothing to mix.
- Single-engine product: no second harness exists and mixed-harness operation is excluded.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Coding agents: Pi: Yes cross-checked
Coding agents: Pi
Typed value: Yes.
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
- Harnesses: pi is the only engine, run in-process — explicitly no second runtime (no claude-agent-sdk). Claude Code, Codex, Copilot, Kimi CLI and Grok Build appear only as detected provider configs, never as run harnesses.
- Model providers: Providers connect through pi auth, JetBrains AI via the central CLI, and user-added OpenAI-compatible servers; the 1.5.1 catalogue held 1,639 provider/model pairs.
- Custom adapters: Any OpenAI-compatible server fits: company gateways or on-machine models via Settings Providers with Find models, saved into pi models.json for the app and the pi CLI.
- Mixed harness operation: Agent and model choice, mixed_harness_operation: pi is the only engine with no second runtime and no adapter code; there is nothing to mix.
- Single-engine product: no second harness exists and mixed-harness operation is excluded.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Coding agents: Grok: No cross-checked
Coding agents: Grok
Typed value: No.
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
- Harnesses: pi is the only engine, run in-process — explicitly no second runtime (no claude-agent-sdk). Claude Code, Codex, Copilot, Kimi CLI and Grok Build appear only as detected provider configs, never as run harnesses.
- Model providers: Providers connect through pi auth, JetBrains AI via the central CLI, and user-added OpenAI-compatible servers; the 1.5.1 catalogue held 1,639 provider/model pairs.
- Mixed harness operation: Agent and model choice, mixed_harness_operation: pi is the only engine with no second runtime and no adapter code; there is nothing to mix.
- Single-engine product: no second harness exists and mixed-harness operation is excluded.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Coding agents: Aider: No cross-checked
Coding agents: Aider
Typed value: No.
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
- Harnesses: pi is the only engine, run in-process — explicitly no second runtime (no claude-agent-sdk). Claude Code, Codex, Copilot, Kimi CLI and Grok Build appear only as detected provider configs, never as run harnesses.
- Model providers: Providers connect through pi auth, JetBrains AI via the central CLI, and user-added OpenAI-compatible servers; the 1.5.1 catalogue held 1,639 provider/model pairs.
- Mixed harness operation: Agent and model choice, mixed_harness_operation: pi is the only engine with no second runtime and no adapter code; there is nothing to mix.
- Single-engine product: no second harness exists and mixed-harness operation is excluded.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Coding agents: Antigravity: No cross-checked
Coding agents: Antigravity
Typed value: No.
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
- Harnesses: pi is the only engine, run in-process — explicitly no second runtime (no claude-agent-sdk). Claude Code, Codex, Copilot, Kimi CLI and Grok Build appear only as detected provider configs, never as run harnesses.
- Model providers: Providers connect through pi auth, JetBrains AI via the central CLI, and user-added OpenAI-compatible servers; the 1.5.1 catalogue held 1,639 provider/model pairs.
- Mixed harness operation: Agent and model choice, mixed_harness_operation: pi is the only engine with no second runtime and no adapter code; there is nothing to mix.
- Single-engine product: no second harness exists and mixed-harness operation is excluded.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Use my subscription: Yes
Use my subscription
Typed value: Yes.
ThinkRail uses provider API keys and Pi's native OAuth login, including Anthropic subscription credentials recognized by the embedded runtime. External CLI accounts are setup signals rather than borrowed credentials; there is no ThinkRail credit system.
- Agent subscriptions: The embedded Pi runtime uses its own OAuth sign-in and explicitly recognizes active Anthropic subscription authentication.
- This source pass establishes only the named atomic answers. Other parts retain their documented source gaps; no hands-on test was performed.
-
ThinkRail native Pi subscription authentication
Finding: ThinkRail starts Pi's own OAuth login flow, and its runtime explicitly recognizes active Anthropic subscription OAuth credentials for extra-usage warnings. Detected Claude/Codex CLI account plans are setup signals, not borrowed credentials. This establishes subscription use through the embedded Pi provider login rather than a separate CLI runtime.
Where agents run: On your computer: Yes cross-checked
Where agents run: On your computer
Typed value: Yes.
Execution is local: the desktop app and the CLI host run the in-process pi engine on the user’s own machine, provisioned by the installer, with no vendor cloud, no user-server path and no resource, region or expiry concepts. State rebuilds on other surfaces over the wire, but execution does not survive the originating host.
- Local: Desktop and CLI hosts run the in-process pi engine on the user’s computer; both embed the same engine host.
- Byo remote: Laptop-independent execution, byo_remote: running the host on a user-owned server is not a product path; the architecture names remote-host dialling as later shared-client work, and installers plus code cover local machines only.
- Self hosted: The whole product runs on user-controlled machines with no vendor compute; state lives under ~/.thinkrail.
- Managed cloud: No vendor cloud exists: the desktop profile is local only and ThinkRail keeps no accounts or hosted compute.
- Provisioning: Laptop-independent execution, provisioning: the user-run installer (install.sh/install.ps1 with stable/nightly channels) provisions the app on the local machine; no vendor provisioning applies.
- Payer: The user pays with their own hardware; ThinkRail bills nothing and model spend goes to the user’s own providers.
- Local-only execution with no remote, hosted or laptop-independent operation; state follows surfaces, execution does not.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Where agents run: On your own server: No cross-checked
Where agents run: On your own server
Typed value: No.
Execution is local: the desktop app and the CLI host run the in-process pi engine on the user’s own machine, provisioned by the installer, with no vendor cloud, no user-server path and no resource, region or expiry concepts. State rebuilds on other surfaces over the wire, but execution does not survive the originating host.
- Local: Desktop and CLI hosts run the in-process pi engine on the user’s computer; both embed the same engine host.
- Byo remote: Laptop-independent execution, byo_remote: running the host on a user-owned server is not a product path; the architecture names remote-host dialling as later shared-client work, and installers plus code cover local machines only.
- Self hosted: The whole product runs on user-controlled machines with no vendor compute; state lives under ~/.thinkrail.
- Managed cloud: No vendor cloud exists: the desktop profile is local only and ThinkRail keeps no accounts or hosted compute.
- Provisioning: Laptop-independent execution, provisioning: the user-run installer (install.sh/install.ps1 with stable/nightly channels) provisions the app on the local machine; no vendor provisioning applies.
- Payer: The user pays with their own hardware; ThinkRail bills nothing and model spend goes to the user’s own providers.
- Resources: Laptop-independent execution, resources: bounded v0.3.2 inspection found no provisioned-compute resource concepts; execution is the local machine.
- Region: Laptop-independent execution, region: regions do not apply to local execution; bounded v0.3.2 inspection found no region concept.
- Other device continuation: Laptop-independent execution, other_device_continuation: a second tab or phone rebuilds the same state over the wire, but execution does not survive the host laptop sleeping and is not handed off.
- Local-only execution with no remote, hosted or laptop-independent operation; state follows surfaces, execution does not.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
Where agents run: In the vendor's cloud: No cross-checked
Where agents run: In the vendor's cloud
Typed value: No.
Execution is local: the desktop app and the CLI host run the in-process pi engine on the user’s own machine, provisioned by the installer, with no vendor cloud, no user-server path and no resource, region or expiry concepts. State rebuilds on other surfaces over the wire, but execution does not survive the originating host.
- Local: Desktop and CLI hosts run the in-process pi engine on the user’s computer; both embed the same engine host.
- Byo remote: Laptop-independent execution, byo_remote: running the host on a user-owned server is not a product path; the architecture names remote-host dialling as later shared-client work, and installers plus code cover local machines only.
- Self hosted: The whole product runs on user-controlled machines with no vendor compute; state lives under ~/.thinkrail.
- Managed cloud: No vendor cloud exists: the desktop profile is local only and ThinkRail keeps no accounts or hosted compute.
- Payer: The user pays with their own hardware; ThinkRail bills nothing and model spend goes to the user’s own providers.
- Resources: Laptop-independent execution, resources: bounded v0.3.2 inspection found no provisioned-compute resource concepts; execution is the local machine.
- Region: Laptop-independent execution, region: regions do not apply to local execution; bounded v0.3.2 inspection found no region concept.
- Other device continuation: Laptop-independent execution, other_device_continuation: a second tab or phone rebuilds the same state over the wire, but execution does not survive the host laptop sleeping and is not handed off.
- Local-only execution with no remote, hosted or laptop-independent operation; state follows surfaces, execution does not.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
Workspace isolation: Git worktree: Yes cross-checked
Workspace isolation: Git worktree
Typed value: Yes.
Isolation is git worktrees: separate directories, branches and cwds per workspace on the same machine and OS user, with env-based secret handling. No container, VM, OS-sandbox, process or network boundary exists; pi runs in-process. A worktree is file separation, not a security boundary.
- Checkout: Each workspace is its own worktree directory (for example ~/.thinkrail/worktrees/<project>/workspace-1) with its own cwd for files, terminals and chats.
- Branch: Each workspace has its own branch; main stays clean until merge.
- Worktree: Isolation uses real git worktree functionality to create and manage the environments.
- Filesystem: Workspace directories separate files, diffs, terminals and chats per workspace; same-machine, same-OS-user boundaries only.
- Secrets: Extra environment variables apply per host for agents, terminals and MCP; MCP secrets must be ${VAR} or !command with URL credentials refused.
- Code separation: Workspace and process isolation, code_separation: separate worktree directories, branches and cwds separate concurrent changes; same OS user and process, so not a security boundary.
- Security boundary: Workspace and process isolation, security_boundary: a worktree separates files and is not a security sandbox; no hostile-containment evidence exists.
- File separation only: same machine, user and process; no security boundary is claimed.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
Workspace isolation: Container: No cross-checked
Workspace isolation: Container
Typed value: No.
Isolation is git worktrees: separate directories, branches and cwds per workspace on the same machine and OS user, with env-based secret handling. No container, VM, OS-sandbox, process or network boundary exists; pi runs in-process. A worktree is file separation, not a security boundary.
- Container: Workspace and process isolation, container: bounded v0.3.2 inspection found no such isolation primitive; the product isolates with git worktrees on the local machine.
- Vm: Workspace and process isolation, vm: bounded v0.3.2 inspection found no such isolation primitive; the product isolates with git worktrees on the local machine.
- Os sandbox: Workspace and process isolation, os_sandbox: bounded v0.3.2 inspection found no such isolation primitive; the product isolates with git worktrees on the local machine.
- File separation only: same machine, user and process; no security boundary is claimed.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
Workspace isolation: VM or microVM: No cross-checked
Workspace isolation: VM or microVM
Typed value: No.
Isolation is git worktrees: separate directories, branches and cwds per workspace on the same machine and OS user, with env-based secret handling. No container, VM, OS-sandbox, process or network boundary exists; pi runs in-process. A worktree is file separation, not a security boundary.
- Container: Workspace and process isolation, container: bounded v0.3.2 inspection found no such isolation primitive; the product isolates with git worktrees on the local machine.
- Vm: Workspace and process isolation, vm: bounded v0.3.2 inspection found no such isolation primitive; the product isolates with git worktrees on the local machine.
- Os sandbox: Workspace and process isolation, os_sandbox: bounded v0.3.2 inspection found no such isolation primitive; the product isolates with git worktrees on the local machine.
- File separation only: same machine, user and process; no security boundary is claimed.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
Parallel runs: Yes cross-checked
Parallel runs
Typed value: Yes.
Several sessions run concurrently per workspace and several workspaces run in parallel, each isolated on its own branch and cwd — implemented in the session manager with parallel Agent calls and background commands. The Projects rail and Resources views show running work. No quotas exist.
- Concurrent sessions: Several concurrent work sessions run per workspace, each with its own model, streaming concurrently.
- Concurrent tasks: Parallel workspaces each run an agent on its own branch; side workspaces run without waiting for each other.
- Status visibility: The Projects panel shows workspaces per project with the Settled shelf, and Resources tracks background commands and subagents per chat.
- No concurrency quotas exist in docs or code.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Coordinator: Yes cross-checked
Coordinator
Typed value: Yes.
ThinkRail-bundled pi-subagents and pi-delegation give every parent session Agent and get_subagent_result tools over isolated child sessions, with per-session model and effort choice, live progress and retained outcomes in Resources. Delegation is pi-only with no cross-harness teams; child messaging detail and auth are undescribed, and follow-up is re-reading, not reopening.
- Roles: Parent sessions delegate to isolated child sessions in the foreground, in parallel or in the background.
- Messages: Parents and children exchange work and results through the delegation tools; message-level inspection detail is undescribed.
- Results return: Children return results via get_subagent_result and finished outcomes persist in resource history.
- Cross harness: Delegation runs on pi only: pi is the only engine with no second runtime, so cross-harness teams are excluded.
- Orchestration owner: Orchestration is product-owned: ThinkRail bundles the portable pi-subagents and pi-delegation packages into every parent session from its server registry.
- Activation: Delegation tools are bundled into every parent session with no activation flag or experimental gate described.
- Authentication: Inspectable delegation and communication, authentication: in-process sessions with no accounts; bounded v0.3.2 inspection found no delegation auth surface.
- Live progress: The Resources popup follows background commands and subagents while they run, per chat.
- Retained results: Finished background work keeps outcomes and command log tails for the workspace lifetime, across host restarts.
- Followup: Inspectable delegation and communication, followup: finished subagent reports can be re-read via get_subagent_result with outcomes retained in resource history; reopening a completed child as a new run is undescribed.
- Invocation: Documented invocation is delegating to subagents plus natural-language side-workspace requests; bundled workflow skills add project setup, brainstorming and ship-PR flows.
- Delegation is pi-only with no cross-harness teams; messaging detail, auth and reopening are undescribed or absent.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
Native issue tracking: Yes
Native issue tracking
Typed value: Yes.
ThinkRail manages work as projects, workspaces (active to Settled shelf) and shared TODO plans rather than a labelled tracker: creation, edit, discussion, search, archive/Trash, reopen, dispatch-by-handoff and durable states exist and were confirmed in code, but prioritisation, labels, assignment and filters do not. No external tracker is required for core work.
- Create: Projects, workspaces, scratch chats and TODO plans are created in-app from prompts.
- Edit: Chats rename, plans edit, specs edit as Markdown, and review comments collect on lines and diffs.
- Discuss: Anchored review comments collect without starting the agent and go to chats as structured context; plan discussion happens in the shared TODO plan. Dedicated issue threads were not established.
- Prioritize: Native issue management and idea backlog, prioritize: bounded v0.3.2 inspection (workspaces, todos, reviews code) found no such work-item model.
- Label: Native issue management and idea backlog, label: bounded v0.3.2 inspection (workspaces, todos, reviews code) found no such work-item model.
- Assign: Native issue management and idea backlog, assign: bounded v0.3.2 inspection (workspaces, todos, reviews code) found no such work-item model.
- Filter: Native issue management and idea backlog, filter: bounded v0.3.2 inspection (workspaces, todos, reviews code) found no such work-item model.
- Idea parking: Chats without a project park an idea as a scratch-folder draft with no execution, later continued into a real workspace via agent-written handoff.
- Explicit dispatch: Parked chats dispatch later through Continue in workspace, and side-workspace requests start workspace chats on demand.
- Task session separation: Workspaces (durable work entities with branch and state) are separate from chats (sessions), with several sessions per workspace.
- Durable states: Workspaces move through active and Settled states with PR merge/close transitions; TODO steps review independently.
- External tracker requirement: Core planning, specs, review and merge-prep work without any external tracker; GitHub is needed only for the PR leg.
- No labelled, prioritised or assigned issue model exists in docs or code; work tracking is workspaces plus TODO plans.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
-
Finding: Completed plan steps are immutable history with per-step commits and revision shas; steps carry review states.
Unattended triggers: No cross-checked
Unattended triggers
Typed value: No.
Unattended triggers do not exist: bounded v0.3.2 inspection of packages/server, apps/* and packages/* for schedul|cron|trigger|recur|setInterval-based scheduling found only UI polling, update checks and request replay. No schedules, event triggers, recurring tasks or completion-driven runs exist.
- Schedules: Unattended triggers, schedules: bounded v0.3.2 inspection (JetBrains/thinkrail@v0.3.2) found no scheduler or trigger mechanism; the only timer-driven code is polling, update checks and request replay.
- Events: Unattended triggers, events: bounded v0.3.2 inspection (JetBrains/thinkrail@v0.3.2) found no scheduler or trigger mechanism; the only timer-driven code is polling, update checks and request replay.
- Recurring tasks: Unattended triggers, recurring_tasks: bounded v0.3.2 inspection (JetBrains/thinkrail@v0.3.2) found no scheduler or trigger mechanism; the only timer-driven code is polling, update checks and request replay.
- Completion conditions: Unattended triggers, completion_conditions: bounded v0.3.2 inspection (JetBrains/thinkrail@v0.3.2) found no scheduler or trigger mechanism; the only timer-driven code is polling, update checks and request replay.
- Scheduler location: Unattended triggers, scheduler_location: bounded v0.3.2 inspection (JetBrains/thinkrail@v0.3.2) found no scheduler or trigger mechanism; the only timer-driven code is polling, update checks and request replay.
- Overlaps: Unattended triggers, overlaps: bounded v0.3.2 inspection (JetBrains/thinkrail@v0.3.2) found no scheduler or trigger mechanism; the only timer-driven code is polling, update checks and request replay.
- Retries: Unattended triggers, retries: bounded v0.3.2 inspection (JetBrains/thinkrail@v0.3.2) found no scheduler or trigger mechanism; the only timer-driven code is polling, update checks and request replay.
- Client independence: Unattended triggers, client_independence: bounded v0.3.2 inspection (JetBrains/thinkrail@v0.3.2) found no scheduler or trigger mechanism; the only timer-driven code is polling, update checks and request replay.
- No scheduler, trigger, recurrence or completion-condition mechanism exists in the pinned release.
-
Finding: Bounded inspection found no user-facing schedules, event triggers, recurring tasks or completion-driven runs.
Shared prompting: No cross-checked
Shared prompting
Typed value: No.
Live human collaboration does not exist: ThinkRail is a single-owner local product whose auth model (Tailscale ACLs plus an owner field, no login UI) has no second user, shared prompting, presence, ordering, attribution or permission constructs. The launch post’s Git-and-GitHub line does not establish co-steering.
- Visibility: Live human collaboration, visibility: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Discussion: Live human collaboration, discussion: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Comments: Live human collaboration, comments: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Presence: Live human collaboration, presence: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Coprompting: Live human collaboration, coprompting: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Ordering: Live human collaboration, ordering: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Conflicts: Live human collaboration, conflicts: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Attribution: Live human collaboration, attribution: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Permissions: Live human collaboration, permissions: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Plan restrictions: Live human collaboration, plan_restrictions: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Owner online: Live human collaboration, owner_online: bounded v0.3.2 inspection found no second-user concept; auth is Tailscale ACLs plus a single owner field, so co-steering cannot exist.
- Single-owner product: no multi-user construct exists in docs or code.
-
Finding: No user, organisation, role, SSO, membership or provisioning model in code. Single-owner external auth.
Team roles: No cross-checked
Team roles
Typed value: No.
Roles and access boundaries do not exist: no organisations, project or task roles, membership, SSO, provisioning, revocation or plan scoping, because there are no accounts. Host reach is a network (Tailscale) matter, and SSO is excluded by the no-login-UI non-goal.
- Organization roles: Roles and access boundaries, organization_roles: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Project roles: Roles and access boundaries, project_roles: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Task roles: Roles and access boundaries, task_roles: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Membership: Roles and access boundaries, membership: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Provisioning: Roles and access boundaries, provisioning: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Unauthorized access: Roles and access boundaries, unauthorized_access: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Revocation: Roles and access boundaries, revocation: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Plan scope: Roles and access boundaries, plan_scope: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- No role, membership, SSO or provisioning construct exists.
-
Finding: No user, organisation, role, SSO, membership or provisioning model in code. Single-owner external auth.
SSO: No cross-checked
SSO
Typed value: No.
Roles and access boundaries do not exist: no organisations, project or task roles, membership, SSO, provisioning, revocation or plan scoping, because there are no accounts. Host reach is a network (Tailscale) matter, and SSO is excluded by the no-login-UI non-goal.
- Organization roles: Roles and access boundaries, organization_roles: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Project roles: Roles and access boundaries, project_roles: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Task roles: Roles and access boundaries, task_roles: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Membership: Roles and access boundaries, membership: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Sso: Enterprise SSO is excluded by decision: ThinkRail accounts and any login UI are non-goals.
- Provisioning: Roles and access boundaries, provisioning: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Unauthorized access: Roles and access boundaries, unauthorized_access: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Revocation: Roles and access boundaries, revocation: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- Plan scope: Roles and access boundaries, plan_scope: bounded v0.3.2 inspection found no such model; there are no accounts, so no roles, membership or provisioning exist.
- No role, membership, SSO or provisioning construct exists.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: No user, organisation, role, SSO, membership or provisioning model in code. Single-owner external auth.
Pull request workflow: Yes cross-checked
Pull request workflow
Typed value: Yes.
The full GitHub loop is integrated in the topbar: own branches and worktrees, per-step commits, PR open/update through gh with templates or agent drafts, CI response with Fix-with-agent, rebase preview, and merge/reopen/branch-delete actions — all present in the pinned pr/github modules. PR-comment round-trips and GitLab review actions are the limits.
- Branches: Every workspace owns its branch; the topbar tracks it against origin with ahead/behind state.
- Worktrees: Work happens in git worktrees with publish, push and sync from the topbar.
- Commits: Completed plan steps commit on their own when provably theirs; PR descriptions can come from the plan, commits, template or agent draft.
- Pull requests: Open or update the GitHub PR through gh from the plan or topbar (GitLab: prefilled MR page); drafts supported with Ready-for-review promotion.
- Comments: Anchored local comments send structured context to chats; responding to forge PR review comments is undescribed.
- Ci response: Open PRs show checks and review decisions with Fix with agent on failure and diverged-branch integration with the agent.
- Rebase: Sync previews the git pull --rebase it would run and never force-pushes.
- Conflicts: Diverged branches integrate with the agent; conflict detection detail is undescribed.
- Product state: The topbar owns Remote/PR segments, dialogs and merge actions through gh — an integrated workflow, not bare git commands.
- GitLab is limited to a prefilled MR page; forge PR-comment round-trips are undescribed in code.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Review interface: Yes cross-checked
Review interface
Typed value: Yes.
Review is a guided loop: the palette and Review-turn button surface pending work, stacked Changes tabs with Keep/Revert/Ask-agent plus Next-unreviewed (J key in code) navigate evidence, anchored comments and Fix-with-agent request changes, and the topbar names the next shipping step. Phone viewports adapt; effort timing, missed-evidence analysis and switching costs are not measured.
- Pending reviews: Waiting chats surface in the empty palette ordered by urgency; turn receipts carry Review turn buttons and the topbar shows open PR state.
- Change understanding: Read-only diff tabs, rendered Markdown with source toggle, and turn summaries show what changed without reading the transcript.
- Evidence navigation: One stacked Changes tab per run, One-file view mode, hunk Keep/Revert/Ask agent, progress bar and Next unreviewed (J); big diffs collapse with a switch hint past 50 files.
- Comments: The Review panel collects anchored comments on lines of files and diffs and sends them to the agent as structured context.
- Keyboard: J steps through unreviewed hunks; palette and file search have full keyboard access; complete keyboard-only review is undescribed.
- Retained context: Keep marks survive line shifts and lapse only when the agent re-edits the hunk; One-file and stacked views share progress.
- Review effort, missed evidence and switching costs are not measured. Bulk and cross-branch review queues are judged in SHIP-06.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
Product license: Apache-2.0: Yes. Apache-2.0 cross-checked
Product license: Apache-2.0
Typed value: Yes. Apache-2.0.
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Client license: Desktop and browser clients ship from the Apache-2.0 repository from the same codebase.
- Server license: The engine host library ships from the same Apache-2.0 repository; no separate server licence exists.
- Hosted extensions: Source and license, hosted_extensions: all extensions ship from the same Apache-2.0 repository (pi-extensions, thinkrail-extensions, server registry); no differently-licensed or hosted-only extension was found.
- Source visibility: The full source is public at github.com/JetBrains/thinkrail under the JetBrains organisation.
- Source revision: This pass covers stable v0.3.2 (2026-11-06) with default-branch commit e473363 observed 2026-11-12.
- Single-repo finding: no component carries a different licence.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Product license: MIT: No. Apache-2.0 cross-checked
Product license: MIT
Typed value: No. Apache-2.0.
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Client license: Desktop and browser clients ship from the Apache-2.0 repository from the same codebase.
- Server license: The engine host library ships from the same Apache-2.0 repository; no separate server licence exists.
- Hosted extensions: Source and license, hosted_extensions: all extensions ship from the same Apache-2.0 repository (pi-extensions, thinkrail-extensions, server registry); no differently-licensed or hosted-only extension was found.
- Source visibility: The full source is public at github.com/JetBrains/thinkrail under the JetBrains organisation.
- Source revision: This pass covers stable v0.3.2 (2026-11-06) with default-branch commit e473363 observed 2026-11-12.
- Single-repo finding: no component carries a different licence.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Product license: GPL-3.0: No. Apache-2.0 cross-checked
Product license: GPL-3.0
Typed value: No. Apache-2.0.
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Client license: Desktop and browser clients ship from the Apache-2.0 repository from the same codebase.
- Server license: The engine host library ships from the same Apache-2.0 repository; no separate server licence exists.
- Hosted extensions: Source and license, hosted_extensions: all extensions ship from the same Apache-2.0 repository (pi-extensions, thinkrail-extensions, server registry); no differently-licensed or hosted-only extension was found.
- Source visibility: The full source is public at github.com/JetBrains/thinkrail under the JetBrains organisation.
- Source revision: This pass covers stable v0.3.2 (2026-11-06) with default-branch commit e473363 observed 2026-11-12.
- Single-repo finding: no component carries a different licence.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Product license: GPL-3.0-or-later: No. Apache-2.0 cross-checked
Product license: GPL-3.0-or-later
Typed value: No. Apache-2.0.
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Client license: Desktop and browser clients ship from the Apache-2.0 repository from the same codebase.
- Server license: The engine host library ships from the same Apache-2.0 repository; no separate server licence exists.
- Hosted extensions: Source and license, hosted_extensions: all extensions ship from the same Apache-2.0 repository (pi-extensions, thinkrail-extensions, server registry); no differently-licensed or hosted-only extension was found.
- Source visibility: The full source is public at github.com/JetBrains/thinkrail under the JetBrains organisation.
- Source revision: This pass covers stable v0.3.2 (2026-11-06) with default-branch commit e473363 observed 2026-11-12.
- Single-repo finding: no component carries a different licence.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Product license: AGPL-3.0: No. Apache-2.0 cross-checked
Product license: AGPL-3.0
Typed value: No. Apache-2.0.
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Client license: Desktop and browser clients ship from the Apache-2.0 repository from the same codebase.
- Server license: The engine host library ships from the same Apache-2.0 repository; no separate server licence exists.
- Hosted extensions: Source and license, hosted_extensions: all extensions ship from the same Apache-2.0 repository (pi-extensions, thinkrail-extensions, server registry); no differently-licensed or hosted-only extension was found.
- Source visibility: The full source is public at github.com/JetBrains/thinkrail under the JetBrains organisation.
- Source revision: This pass covers stable v0.3.2 (2026-11-06) with default-branch commit e473363 observed 2026-11-12.
- Single-repo finding: no component carries a different licence.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Product license: AGPL-3.0-or-later: No. Apache-2.0 cross-checked
Product license: AGPL-3.0-or-later
Typed value: No. Apache-2.0.
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Client license: Desktop and browser clients ship from the Apache-2.0 repository from the same codebase.
- Server license: The engine host library ships from the same Apache-2.0 repository; no separate server licence exists.
- Hosted extensions: Source and license, hosted_extensions: all extensions ship from the same Apache-2.0 repository (pi-extensions, thinkrail-extensions, server registry); no differently-licensed or hosted-only extension was found.
- Source visibility: The full source is public at github.com/JetBrains/thinkrail under the JetBrains organisation.
- Source revision: This pass covers stable v0.3.2 (2026-11-06) with default-branch commit e473363 observed 2026-11-12.
- Single-repo finding: no component carries a different licence.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Product license: Elastic License 2.0: No. Apache-2.0 cross-checked
Product license: Elastic License 2.0
Typed value: No. Apache-2.0.
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Client license: Desktop and browser clients ship from the Apache-2.0 repository from the same codebase.
- Server license: The engine host library ships from the same Apache-2.0 repository; no separate server licence exists.
- Hosted extensions: Source and license, hosted_extensions: all extensions ship from the same Apache-2.0 repository (pi-extensions, thinkrail-extensions, server registry); no differently-licensed or hosted-only extension was found.
- Source visibility: The full source is public at github.com/JetBrains/thinkrail under the JetBrains organisation.
- Source revision: This pass covers stable v0.3.2 (2026-11-06) with default-branch commit e473363 observed 2026-11-12.
- Single-repo finding: no component carries a different licence.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Product license: Custom terms: No. Apache-2.0 cross-checked
Product license: Custom terms
Typed value: No. Apache-2.0.
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Client license: Desktop and browser clients ship from the Apache-2.0 repository from the same codebase.
- Server license: The engine host library ships from the same Apache-2.0 repository; no separate server licence exists.
- Hosted extensions: Source and license, hosted_extensions: all extensions ship from the same Apache-2.0 repository (pi-extensions, thinkrail-extensions, server registry); no differently-licensed or hosted-only extension was found.
- Source visibility: The full source is public at github.com/JetBrains/thinkrail under the JetBrains organisation.
- Source revision: This pass covers stable v0.3.2 (2026-11-06) with default-branch commit e473363 observed 2026-11-12.
- Single-repo finding: no component carries a different licence.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Product license: Proprietary: No. Apache-2.0 cross-checked
Product license: Proprietary
Typed value: No. Apache-2.0.
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Client license: Desktop and browser clients ship from the Apache-2.0 repository from the same codebase.
- Server license: The engine host library ships from the same Apache-2.0 repository; no separate server licence exists.
- Hosted extensions: Source and license, hosted_extensions: all extensions ship from the same Apache-2.0 repository (pi-extensions, thinkrail-extensions, server registry); no differently-licensed or hosted-only extension was found.
- Source visibility: The full source is public at github.com/JetBrains/thinkrail under the JetBrains organisation.
- Source revision: This pass covers stable v0.3.2 (2026-11-06) with default-branch commit e473363 observed 2026-11-12.
- Single-repo finding: no component carries a different licence.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Self-hosting: Yes cross-checked
Self-hosting
Typed value: Yes.
The core ADE runs entirely on user-controlled machines with no vendor services to keep: optional companions are the user’s git, gh, central CLI and Tailscale. Uninstall removes the binary and optionally ~/.thinkrail state. Task, context and history export formats do not exist.
- Self hosting: Desktop and CLI hosts run on the user’s own machines; no vendor-hosted control plane or compute exists.
- Vendor dependencies: Only optional user-owned services: git, gh for PRs, central CLI for JetBrains AI, Tailscale for phone reach, and PostHog for analytics.
- Import: Git URLs clone into projects, existing worktrees attach in place, and skills/packages import from user, repo and third-party agent folders.
- Cancellation: There is no account to cancel: thinkrail uninstall removes the binary and PATH entry and optionally deletes ~/.thinkrail with confirmation.
- Account independence: Everything except provider-authenticated model calls works with no vendor account; analytics extras switch off.
- Export formats and history portability do not exist.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
Telemetry opt-out: No cross-checked
Telemetry opt-out
Typed value: No.
Code, prompts and credentials stay with the user: in-process pi sends them to the user’s own providers, never to ThinkRail servers. Telemetry is basic install-ID events plus always-on error reports via PostHog; extra sharing is opt-in at first run and in Settings Privacy (or --no-analytics). Retention beyond a 30-day link expiry, training use and residency are unstated business facts.
- Code data: Code is processed in-process and by the user’s providers; usage analytics explicitly never include code, prompts or files.
- Prompts: Prompts go to the user’s providers; analytics never include prompts and feedback answers send only on explicit Send.
- Credentials: Provider credentials stay in pi auth and the OS; analytics never include credentials and the model key never reaches the browser.
- Logs: Error reports carry the error type, code and ThinkRail code location only — never messages, paths, names, URLs or project content.
- Artifacts: Data handling and telemetry, artifacts: artifacts live in local workspaces; analytics and error reports exclude code, prompts, files, paths and project content, but no artifact-specific routing policy is stated.
- Retention: The website-visit link for installed builds expires after 30 days; general retention and deletion timelines are unstated.
- Deletion: Chats delete to Trash, uninstall optionally removes ~/.thinkrail data, and survey answers delete on emailed request; a general deletion policy is unstated.
- Subprocessors: Analytics run on PostHog services for apps and website (surveys collect email only when volunteered); PostHog policy linked.
- Telemetry disclosure: Launches, chat creation, message sends, provider connections and error reports are disclosed as collected, tied to a random install ID.
- Telemetry defaults: Additional sharing defaults to the first-run choice (off unless enabled); error reports are always sent.
- Telemetry controls: Settings Privacy toggles additional sharing and thinkrail --no-analytics (or THINKRAIL_NO_ANALYTICS=1) disables it per launch.
- Consent prompt: The privacy switch is offered during first-run setup (or right after skipping it).
- Provider separation: Orchestration-vendor data (basic ThinkRail events) is separate from model-provider data (user code and prompts to their providers).
- Retention timelines, training use and residency are unstated.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
Free access: Yes cross-checked
Free access
Typed value: Yes.
Free outright: Apache-2.0 source with free desktop and CLI downloads and no paid plan, card, trial, credit programme, gated early access or usage caps. Meaningful evaluation needs only provider credentials (JetBrains AI or own keys/local models); two-person same-work collaboration is limited by the single-user design.
- Ongoing free: Apache-2.0 repository with free downloads and no paid plan: free with no time limit.
- Trial: Useful free tier and evaluation access, trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Credits trial: Useful free tier and evaluation access, credits_trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Self host cost: Self-hosting cost is the user’s own machine plus provider spend; no ThinkRail charge.
- Paid only: No paid-only gate exists: the whole ADE is free with no paid tier.
- Early access: Useful free tier and evaluation access, early_access: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Free scenarios: Local workspaces, BYO keys and local models, phone-browser reach, local issue-style plans and review all work free; same-work two-person collaboration is limited by the single-user design.
- Card required: No payment exists anywhere in the product, so no card is required.
- Usage caps: Useful free tier and evaluation access, usage_caps: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Paid evaluation: Evaluation needs provider credentials but no payment to ThinkRail and no sales approval.
- Evaluation needs provider credentials; same-work two-person scenarios are limited by the single-user design.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Starting price: Free: Yes. Free cross-checked
Starting price: Free
Typed value: Yes. Free.
Free outright: Apache-2.0 source with free desktop and CLI downloads and no paid plan, card, trial, credit programme, gated early access or usage caps. Meaningful evaluation needs only provider credentials (JetBrains AI or own keys/local models); two-person same-work collaboration is limited by the single-user design.
- Ongoing free: Apache-2.0 repository with free downloads and no paid plan: free with no time limit.
- Trial: Useful free tier and evaluation access, trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Credits trial: Useful free tier and evaluation access, credits_trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Self host cost: Self-hosting cost is the user’s own machine plus provider spend; no ThinkRail charge.
- Paid only: No paid-only gate exists: the whole ADE is free with no paid tier.
- Early access: Useful free tier and evaluation access, early_access: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Free scenarios: Local workspaces, BYO keys and local models, phone-browser reach, local issue-style plans and review all work free; same-work two-person collaboration is limited by the single-user design.
- Card required: No payment exists anywhere in the product, so no card is required.
- Usage caps: Useful free tier and evaluation access, usage_caps: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Paid evaluation: Evaluation needs provider credentials but no payment to ThinkRail and no sales approval.
- Evaluation needs provider credentials; same-work two-person scenarios are limited by the single-user design.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Starting price: Up to $20/month: No. Free cross-checked
Starting price: Up to $20/month
Typed value: No. Free.
Free outright: Apache-2.0 source with free desktop and CLI downloads and no paid plan, card, trial, credit programme, gated early access or usage caps. Meaningful evaluation needs only provider credentials (JetBrains AI or own keys/local models); two-person same-work collaboration is limited by the single-user design.
- Ongoing free: Apache-2.0 repository with free downloads and no paid plan: free with no time limit.
- Trial: Useful free tier and evaluation access, trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Credits trial: Useful free tier and evaluation access, credits_trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Self host cost: Self-hosting cost is the user’s own machine plus provider spend; no ThinkRail charge.
- Paid only: No paid-only gate exists: the whole ADE is free with no paid tier.
- Early access: Useful free tier and evaluation access, early_access: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Free scenarios: Local workspaces, BYO keys and local models, phone-browser reach, local issue-style plans and review all work free; same-work two-person collaboration is limited by the single-user design.
- Card required: No payment exists anywhere in the product, so no card is required.
- Usage caps: Useful free tier and evaluation access, usage_caps: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Paid evaluation: Evaluation needs provider credentials but no payment to ThinkRail and no sales approval.
- Evaluation needs provider credentials; same-work two-person scenarios are limited by the single-user design.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Starting price: $21–40/month: No. Free cross-checked
Starting price: $21–40/month
Typed value: No. Free.
Free outright: Apache-2.0 source with free desktop and CLI downloads and no paid plan, card, trial, credit programme, gated early access or usage caps. Meaningful evaluation needs only provider credentials (JetBrains AI or own keys/local models); two-person same-work collaboration is limited by the single-user design.
- Ongoing free: Apache-2.0 repository with free downloads and no paid plan: free with no time limit.
- Trial: Useful free tier and evaluation access, trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Credits trial: Useful free tier and evaluation access, credits_trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Self host cost: Self-hosting cost is the user’s own machine plus provider spend; no ThinkRail charge.
- Paid only: No paid-only gate exists: the whole ADE is free with no paid tier.
- Early access: Useful free tier and evaluation access, early_access: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Free scenarios: Local workspaces, BYO keys and local models, phone-browser reach, local issue-style plans and review all work free; same-work two-person collaboration is limited by the single-user design.
- Card required: No payment exists anywhere in the product, so no card is required.
- Usage caps: Useful free tier and evaluation access, usage_caps: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Paid evaluation: Evaluation needs provider credentials but no payment to ThinkRail and no sales approval.
- Evaluation needs provider credentials; same-work two-person scenarios are limited by the single-user design.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Starting price: $41–100/month: No. Free cross-checked
Starting price: $41–100/month
Typed value: No. Free.
Free outright: Apache-2.0 source with free desktop and CLI downloads and no paid plan, card, trial, credit programme, gated early access or usage caps. Meaningful evaluation needs only provider credentials (JetBrains AI or own keys/local models); two-person same-work collaboration is limited by the single-user design.
- Ongoing free: Apache-2.0 repository with free downloads and no paid plan: free with no time limit.
- Trial: Useful free tier and evaluation access, trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Credits trial: Useful free tier and evaluation access, credits_trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Self host cost: Self-hosting cost is the user’s own machine plus provider spend; no ThinkRail charge.
- Paid only: No paid-only gate exists: the whole ADE is free with no paid tier.
- Early access: Useful free tier and evaluation access, early_access: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Free scenarios: Local workspaces, BYO keys and local models, phone-browser reach, local issue-style plans and review all work free; same-work two-person collaboration is limited by the single-user design.
- Card required: No payment exists anywhere in the product, so no card is required.
- Usage caps: Useful free tier and evaluation access, usage_caps: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Paid evaluation: Evaluation needs provider credentials but no payment to ThinkRail and no sales approval.
- Evaluation needs provider credentials; same-work two-person scenarios are limited by the single-user design.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Starting price: Over $100/month: No. Free cross-checked
Starting price: Over $100/month
Typed value: No. Free.
Free outright: Apache-2.0 source with free desktop and CLI downloads and no paid plan, card, trial, credit programme, gated early access or usage caps. Meaningful evaluation needs only provider credentials (JetBrains AI or own keys/local models); two-person same-work collaboration is limited by the single-user design.
- Ongoing free: Apache-2.0 repository with free downloads and no paid plan: free with no time limit.
- Trial: Useful free tier and evaluation access, trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Credits trial: Useful free tier and evaluation access, credits_trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Self host cost: Self-hosting cost is the user’s own machine plus provider spend; no ThinkRail charge.
- Paid only: No paid-only gate exists: the whole ADE is free with no paid tier.
- Early access: Useful free tier and evaluation access, early_access: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Free scenarios: Local workspaces, BYO keys and local models, phone-browser reach, local issue-style plans and review all work free; same-work two-person collaboration is limited by the single-user design.
- Card required: No payment exists anywhere in the product, so no card is required.
- Usage caps: Useful free tier and evaluation access, usage_caps: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Paid evaluation: Evaluation needs provider credentials but no payment to ThinkRail and no sales approval.
- Evaluation needs provider credentials; same-work two-person scenarios are limited by the single-user design.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Starting price: Contact for pricing: No. Free cross-checked
Starting price: Contact for pricing
Typed value: No. Free.
Free outright: Apache-2.0 source with free desktop and CLI downloads and no paid plan, card, trial, credit programme, gated early access or usage caps. Meaningful evaluation needs only provider credentials (JetBrains AI or own keys/local models); two-person same-work collaboration is limited by the single-user design.
- Ongoing free: Apache-2.0 repository with free downloads and no paid plan: free with no time limit.
- Trial: Useful free tier and evaluation access, trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Credits trial: Useful free tier and evaluation access, credits_trial: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Self host cost: Self-hosting cost is the user’s own machine plus provider spend; no ThinkRail charge.
- Paid only: No paid-only gate exists: the whole ADE is free with no paid tier.
- Early access: Useful free tier and evaluation access, early_access: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Free scenarios: Local workspaces, BYO keys and local models, phone-browser reach, local issue-style plans and review all work free; same-work two-person collaboration is limited by the single-user design.
- Card required: No payment exists anywhere in the product, so no card is required.
- Usage caps: Useful free tier and evaluation access, usage_caps: bounded v0.3.2 inspection (docs, releases, code) found no such programme or cap; nightly builds are public and no ThinkRail-side caps exist.
- Paid evaluation: Evaluation needs provider credentials but no payment to ThinkRail and no sales approval.
- Evaluation needs provider credentials; same-work two-person scenarios are limited by the single-user design.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Pricing model: Free, no paid plan: Yes cross-checked
Pricing model: Free, no paid plan
Typed value: Yes.
ThinkRail itself is free: Apache-2.0 source, free downloads, no accounts, no paid plan and no metered units. Model and compute spend belongs to the user’s own providers and hardware and is never billed or marked up by ThinkRail. Billing dimensions do not apply to a product with no paid offering.
- Model cost: Model spend is the user’s own provider billing (including JetBrains AI quota via central); ThinkRail charges nothing and marks nothing up.
- No paid plans exist, so billing atoms are moot business facts; model and compute spend is the user’s own provider and hardware cost.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
Finding: Stable v0.3.2 published 2026-11-06; v0.4.0 stable published 2026-11-12 (latest at check time). Free desktop and CLI assets per platform with SHA256SUMS.
Pricing model: Free plan: No
Pricing model: Free plan
Typed value: No.
ThinkRail itself is free: Apache-2.0 source, free downloads, no accounts, no paid plan and no metered units. Model and compute spend belongs to the user’s own providers and hardware and is never billed or marked up by ThinkRail. Billing dimensions do not apply to a product with no paid offering.
- Model cost: Model spend is the user’s own provider billing (including JetBrains AI quota via central); ThinkRail charges nothing and marks nothing up.
- Compute cost: Compute is the user’s own machine with no vendor compute fees; user hardware cost is unstated.
- No paid plans exist, so billing atoms are moot business facts; model and compute spend is the user’s own provider and hardware cost.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Pricing model: Subscription: No
Pricing model: Subscription
Typed value: No.
ThinkRail itself is free: Apache-2.0 source, free downloads, no accounts, no paid plan and no metered units. Model and compute spend belongs to the user’s own providers and hardware and is never billed or marked up by ThinkRail. Billing dimensions do not apply to a product with no paid offering.
- Model cost: Model spend is the user’s own provider billing (including JetBrains AI quota via central); ThinkRail charges nothing and marks nothing up.
- Compute cost: Compute is the user’s own machine with no vendor compute fees; user hardware cost is unstated.
- No paid plans exist, so billing atoms are moot business facts; model and compute spend is the user’s own provider and hardware cost.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Pricing model: Per seat: No
Pricing model: Per seat
Typed value: No.
ThinkRail itself is free: Apache-2.0 source, free downloads, no accounts, no paid plan and no metered units. Model and compute spend belongs to the user’s own providers and hardware and is never billed or marked up by ThinkRail. Billing dimensions do not apply to a product with no paid offering.
- Model cost: Model spend is the user’s own provider billing (including JetBrains AI quota via central); ThinkRail charges nothing and marks nothing up.
- Compute cost: Compute is the user’s own machine with no vendor compute fees; user hardware cost is unstated.
- No paid plans exist, so billing atoms are moot business facts; model and compute spend is the user’s own provider and hardware cost.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Pricing model: Usage-based: No
Pricing model: Usage-based
Typed value: No.
ThinkRail itself is free: Apache-2.0 source, free downloads, no accounts, no paid plan and no metered units. Model and compute spend belongs to the user’s own providers and hardware and is never billed or marked up by ThinkRail. Billing dimensions do not apply to a product with no paid offering.
- Model cost: Model spend is the user’s own provider billing (including JetBrains AI quota via central); ThinkRail charges nothing and marks nothing up.
- Compute cost: Compute is the user’s own machine with no vendor compute fees; user hardware cost is unstated.
- No paid plans exist, so billing atoms are moot business facts; model and compute spend is the user’s own provider and hardware cost.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Pricing model: Per machine or compute: No
Pricing model: Per machine or compute
Typed value: No.
ThinkRail itself is free: Apache-2.0 source, free downloads, no accounts, no paid plan and no metered units. Model and compute spend belongs to the user’s own providers and hardware and is never billed or marked up by ThinkRail. Billing dimensions do not apply to a product with no paid offering.
- Model cost: Model spend is the user’s own provider billing (including JetBrains AI quota via central); ThinkRail charges nothing and marks nothing up.
- Compute cost: Compute is the user’s own machine with no vendor compute fees; user hardware cost is unstated.
- No paid plans exist, so billing atoms are moot business facts; model and compute spend is the user’s own provider and hardware cost.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Pricing model: Bring your own key: Yes
Pricing model: Bring your own key
Typed value: Yes.
ThinkRail uses provider API keys and Pi's native OAuth login, including Anthropic subscription credentials recognized by the embedded runtime. External CLI accounts are setup signals rather than borrowed credentials; there is no ThinkRail credit system.
- Api accounts: Provider API keys and in-app sign-in flow through pi’s own auth, including custom OpenAI-compatible servers; secrets are referenced as ${VAR} or !command, never pasted into URLs.
- Vendor credits: ThinkRail has no accounts of its own and no credit system; the recurring AI-credit quota that exists belongs to JetBrains AI via the user-owned central CLI, not to ThinkRail.
- Local models: On-machine models connect as custom servers with Ollama, LM Studio, vLLM and llama.cpp presets; the key never reaches the browser.
- Account switching: Settings chooses the pi config folder (for example a personal versus work setup) plus extra environment variables, applied per host on next start; the model picker switches provider and model per chat.
- Vendor account requirement: No ThinkRail account exists or is required; what still requires credentials is the chosen model provider (including JetBrains AI sign-in through central).
- This source pass establishes only the named atomic answers. Other parts retain their documented source gaps; no hands-on test was performed.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Pricing model: One-time purchase: No
Pricing model: One-time purchase
Typed value: No.
ThinkRail itself is free: Apache-2.0 source, free downloads, no accounts, no paid plan and no metered units. Model and compute spend belongs to the user’s own providers and hardware and is never billed or marked up by ThinkRail. Billing dimensions do not apply to a product with no paid offering.
- Model cost: Model spend is the user’s own provider billing (including JetBrains AI quota via central); ThinkRail charges nothing and marks nothing up.
- Compute cost: Compute is the user’s own machine with no vendor compute fees; user hardware cost is unstated.
- No paid plans exist, so billing atoms are moot business facts; model and compute spend is the user’s own provider and hardware cost.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
Open-source license: Yes. Apache-2.0 cross-checked
Open-source license
Typed value: Yes. Apache-2.0.
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Client license: Desktop and browser clients ship from the Apache-2.0 repository from the same codebase.
- Server license: The engine host library ships from the same Apache-2.0 repository; no separate server licence exists.
- Hosted extensions: Source and license, hosted_extensions: all extensions ship from the same Apache-2.0 repository (pi-extensions, thinkrail-extensions, server registry); no differently-licensed or hosted-only extension was found.
- Source visibility: The full source is public at github.com/JetBrains/thinkrail under the JetBrains organisation.
- Source revision: This pass covers stable v0.3.2 (2026-11-06) with default-branch commit e473363 observed 2026-11-12.
- Single-repo finding: no component carries a different licence.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
Any desktop app: Yes cross-checked
Any desktop app
Typed value: Yes.
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
- Desktop os: Desktop installers cover macOS 14+ Apple Silicon/Intel (DMG), Windows x64 (setup zip) and Linux x64/ARM64 (setup tarball plus installer).
- Mobile apps: Client access, mobile_apps: the install matrix (README Installation plus landing install section) is the complete first-party list of shipped clients — macOS, Windows and Linux desktop plus the CLI browser host — and omits any native iOS or Android app. No mobile packaging exists in apps/ (cli, desktop, web, website only).
- Browser: The thinkrail CLI opens the same app in a browser; desktop and browser hosts embed the same engine host.
- Cli: The product-owned thinkrail launcher CLI installs, updates (stable/nightly channels), opens projects and prints help/version; model and agent work stay pi’s.
- Notifications: Desktop notifications plus in-app waiting markers: attention engine with per-session unread holds (apps/web/src/notifications) and the palette urgency list; Linux desktop builds require libnotify.
- The complete install list omits native phone apps and editor extensions. Cross-device state rebuilds; running execution stays on the originating host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
Any phone client: Yes cross-checked
Any phone client
Typed value: Yes.
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
- Mobile browser: The mobile-first React UI adapts below 767px (viewport phone queries) and a phone reaches the selected host over Tailscale; no native app exists.
- Cross device continuity: Client access, cross_device_continuity: hydrate-then-stream rebuilds the same projects, workspaces, sessions and transcripts on a second tab, phone or restart (contracts session.list/session.getMessages), but execution stays on the originating host with no handoff of running work.
- The complete install list omits native phone apps and editor extensions. Cross-device state rebuilds; running execution stays on the originating host.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
All public findings
Findings may summarize a source. They are not presented as verbatim statements.
thinkrail:ACC-01: Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off. cross-checked
thinkrail:ACC-01
Desktop apps ship for macOS 14+ (Apple Silicon and Intel), Windows x64 and Linux x64/ARM64; the complete install matrix omits native phone apps and editor extensions. The thinkrail CLI opens the same app in any browser, the web UI adapts to phone viewports over Tailscale, and notifications arrive via desktop alerts plus in-app waiting markers. Same-task state rebuilds on another surface, but running execution does not hand off.
- The complete install list omits native phone apps and editor extensions. Cross-device state rebuilds; running execution stays on the originating host.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: ThinkRail is an agentic IDE for the Pi coding agent that complements its CLI. Desktop installers for macOS, Windows x64 and Linux x64/ARM64, or a CLI host that opens a browser tab. Every working session operates on a separate git branch merged only after review; LLM providers are configured in Settings.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
An agentic IDE that follows Pi's philosophy
Finding: ThinkRail embeds its own pi coding agent as a library running inside ThinkRail’s own process and shares pi’s ~/.pi folder, so CLI and app sessions keep history both ways. Skills and extensions from pi, Claude, Codex, Copilot and Gemini project folders are reused with per-chat switches. Desktop apps packaged with Electrobun run identically to the CLI browser host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
ThinkRail v0.3.2 — wsProtocol.ts
Finding: Hydrate-then-stream: clients rebuild projects, workspaces, sessions and transcripts on reload, second tab, phone or host restart; reconnect repairs missed deltas.
-
ThinkRail v0.3.2 — attentionNotificationEngine.ts
Finding: Attention engine with per-session unread holds plus desktop notifications.
-
Finding: Fixed external-editor launcher list (VS Code, Emacs, JetBrains IDEs, Vim). No ThinkRail editor extension ships.
-
ThinkRail v0.3.2 — viewport.ts
Finding: Phone-viewport detection adapts the UI below 767px width.
thinkrail:ACC-02: The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design. cross-checked
thinkrail:ACC-02
The only harness is pi, run in-process with no second runtime. Model choice comes from pi provider auth plus JetBrains AI through the user-owned central CLI and user-added OpenAI-compatible servers (1,639 provider/model pairs in the pi 1.5.1 catalogue). Other coding-agent CLIs are only detected as provider-setup signals, never run as harnesses; mixed-harness operation is excluded by the single-engine design.
- Single-engine product: no second harness exists and mixed-harness operation is excluded.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
An agentic IDE that follows Pi's philosophy
Finding: ThinkRail embeds its own pi coding agent as a library running inside ThinkRail’s own process and shares pi’s ~/.pi folder, so CLI and app sessions keep history both ways. Skills and extensions from pi, Claude, Codex, Copilot and Gemini project folders are reused with per-chat switches. Desktop apps packaged with Electrobun run identically to the CLI browser host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
JetBrains AI via the Central CLI
Finding: JetBrains AI models reach ThinkRail through the user-owned central CLI with a recurring AI-credit quota; sign-in, status and quota orchestration span the provider card and shell, with quota snapshots on a 1–3600 second cadence (30 seconds by default).
-
Finding: Host tracks pi releases with per-upgrade re-checks (pi 1.5.2 verified against the installed dist). Bundled chat catalogue holds 1,639 provider/model pairs in pi 1.5.1 (66 added, 19 removed); unavailable models follow the existing selection rules.
-
ThinkRail v0.3.2 — detectAccounts.ts
Finding: Third-party CLIs are read as provider-setup signals only; sign-in stays pi’s own flow.
thinkrail:ACC-03: ThinkRail uses provider API keys and Pi's native OAuth login, including Anthropic subscription credentials recognized by the embedded runtime. External CLI accounts are setup signals rather than borrowed credentials; there is no ThinkRail credit system.
thinkrail:ACC-03
ThinkRail uses provider API keys and Pi's native OAuth login, including Anthropic subscription credentials recognized by the embedded runtime. External CLI accounts are setup signals rather than borrowed credentials; there is no ThinkRail credit system.
- This source pass establishes only the named atomic answers. Other parts retain their documented source gaps; no hands-on test was performed.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
JetBrains AI via the Central CLI
Finding: JetBrains AI models reach ThinkRail through the user-owned central CLI with a recurring AI-credit quota; sign-in, status and quota orchestration span the provider card and shell, with quota snapshots on a 1–3600 second cadence (30 seconds by default).
-
Finding: Host tracks pi releases with per-upgrade re-checks (pi 1.5.2 verified against the installed dist). Bundled chat catalogue holds 1,639 provider/model pairs in pi 1.5.1 (66 added, 19 removed); unavailable models follow the existing selection rules.
-
ThinkRail v0.3.2 — detectAccounts.ts
Finding: Third-party CLIs are read as provider-setup signals only; sign-in stays pi’s own flow.
-
ThinkRail native Pi subscription authentication
Finding: ThinkRail starts Pi's own OAuth login flow, and its runtime explicitly recognizes active Anthropic subscription OAuth credentials for extra-usage warnings. Detected Claude/Codex CLI account plans are setup signals, not borrowed credentials. This establishes subscription use through the embedded Pi provider login rather than a separate CLI runtime.
thinkrail:ACC-04: A first-run wizard (intro, privacy question, Connect a model) drops the user on Start/Open project; Start a new project creates an empty git repo, and Clone repository accepts a Git URL. Any local git repo opens as a project, chats without a project work in scratch folders, and GitHub works through the user’s git credentials and gh CLI. No vendor-cloud or user-server hosting path exists. cross-checked
thinkrail:ACC-04
A first-run wizard (intro, privacy question, Connect a model) drops the user on Start/Open project; Start a new project creates an empty git repo, and Clone repository accepts a Git URL. Any local git repo opens as a project, chats without a project work in scratch folders, and GitHub works through the user’s git credentials and gh CLI. No vendor-cloud or user-server hosting path exists.
- Local-only product: no vendor-cloud or BYO-server onboarding exists; remote-host dialling is described as future work.
-
Finding: ThinkRail is an agentic IDE for the Pi coding agent that complements its CLI. Desktop installers for macOS, Windows x64 and Linux x64/ARM64, or a CLI host that opens a browser tab. Every working session operates on a separate git branch merged only after review; LLM providers are configured in Settings.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
thinkrail:ACC-05: The product-owned thinkrail CLI is a launcher with an exhaustive inventory: open, update and uninstall plus connection flags; it exposes no agent operations. The engine-to-UI wire is internal (/ws plus /health and static routes), with no public API, SDK, MCP server or webhooks in the pinned release. cross-checked
thinkrail:ACC-05
The product-owned thinkrail CLI is a launcher with an exhaustive inventory: open, update and uninstall plus connection flags; it exposes no agent operations. The engine-to-UI wire is internal (/ws plus /health and static routes), with no public API, SDK, MCP server or webhooks in the pinned release.
- All agent operations are UI-driven. The CLI inventory is complete and omits them; no programmable surface exists.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: Complete CLI inventory: launch flags plus update and uninstall subcommands only. No session, task, steering or review operations exist in the launcher.
-
Finding: The host exposes only the internal /ws wire, /health and static/file routes. No public REST API, SDK surface, MCP server transport or webhooks exist in code.
-
ThinkRail v0.3.2 — sessionHost.ts
Finding: MCP confirmation is product code: data-changing calls confirm with Deny, Allow once, Allow in this chat or Always allow, and fail closed with no UI attached.
thinkrail:ACC-06: MCP servers come from pi mcp.json and Settings with presets, per-chat visibility and in-chat confirm for data-changing calls. pi packages (extensions, skills, prompts) install from npm, git or local folders for the user or a repo with per-item switches. Skills import from Claude, Codex and other agents’ folders; repo-defined resources stay off until a per-project trust grant, and repo MCP entries need per-entry approval. cross-checked
thinkrail:ACC-06
MCP servers come from pi mcp.json and Settings with presets, per-chat visibility and in-chat confirm for data-changing calls. pi packages (extensions, skills, prompts) install from npm, git or local folders for the user or a repo with per-item switches. Skills import from Claude, Codex and other agents’ folders; repo-defined resources stay off until a per-project trust grant, and repo MCP entries need per-entry approval.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
An agentic IDE that follows Pi's philosophy
Finding: ThinkRail embeds its own pi coding agent as a library running inside ThinkRail’s own process and shares pi’s ~/.pi folder, so CLI and app sessions keep history both ways. Skills and extensions from pi, Claude, Codex, Copilot and Gemini project folders are reused with per-chat switches. Desktop apps packaged with Electrobun run identically to the CLI browser host.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail v0.3.2 — sessionHost.ts
Finding: MCP confirmation is product code: data-changing calls confirm with Deny, Allow once, Allow in this chat or Always allow, and fail closed with no UI attached.
-
ThinkRail v0.3.2 — skillAdmission.ts
Finding: Project resources load only after per-project trust grants (trusted, piResourceTrust); untrusted is the default.
thinkrail:ACC-07: The desktop app is an Electrobun package: a native system-webview shell around the same engine host the CLI uses. No native mobile client exists (apps/ holds cli, desktop, web and website only; the install matrix omits mobile) and no hybrid construction exists beyond the system-webview shell. cross-checked
thinkrail:ACC-07
The desktop app is an Electrobun package: a native system-webview shell around the same engine host the CLI uses. No native mobile client exists (apps/ holds cli, desktop, web and website only; the install matrix omits mobile) and no hybrid construction exists beyond the system-webview shell.
- No native mobile client or hybrid construction exists to classify.
-
An agentic IDE that follows Pi's philosophy
Finding: ThinkRail embeds its own pi coding agent as a library running inside ThinkRail’s own process and shares pi’s ~/.pi folder, so CLI and app sessions keep history both ways. Skills and extensions from pi, Claude, Codex, Copilot and Gemini project folders are reused with per-chat switches. Desktop apps packaged with Electrobun run identically to the CLI browser host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
thinkrail:PLAN-01: Projects, workspaces and scratch chats are created locally from prompts, and asking for work in a side workspace makes the agent start the workspace and its chat itself. External intake is repository-shaped (clone URL, attached worktrees) with GitHub PR metadata read back into the topbar and PR round-trips through gh. No issue tracker, sync, or chat/git triggers exist in docs or the pinned release. cross-checked
thinkrail:PLAN-01
Projects, workspaces and scratch chats are created locally from prompts, and asking for work in a side workspace makes the agent start the workspace and its chat itself. External intake is repository-shaped (clone URL, attached worktrees) with GitHub PR metadata read back into the topbar and PR round-trips through gh. No issue tracker, sync, or chat/git triggers exist in docs or the pinned release.
- No external issue-tracker relationship exists; PR round-trips are GitHub-only and partial on GitLab.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: Workspaces are git worktrees under ~/.thinkrail/worktrees with their own branch and cwd; parallel agents stay on their branches and merge back (or open a PR) only on request.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
-
Finding: Bounded inspection found no user-facing schedules, event triggers, recurring tasks or completion-driven runs.
-
Finding: PR open/update/ready/merge/reopen/delete-branch through gh with checks display. Forge review-comment ingestion not found.
thinkrail:PLAN-02: Shared TODO plans carry the work with per-step review and independent reviewers, editable by user and agent, with implementation links through per-step commits and turn receipts. Plans survive restarts and mid-run steering. Completed steps form immutable history; explicit acceptance-criteria fields and a separate plan-edit history are undescribed. cross-checked
thinkrail:PLAN-02
Shared TODO plans carry the work with per-step review and independent reviewers, editable by user and agent, with implementation links through per-step commits and turn receipts. Plans survive restarts and mid-run steering. Completed steps form immutable history; explicit acceptance-criteria fields and a separate plan-edit history are undescribed.
- Acceptance criteria live in plan steps, not a dedicated object; plan-edit history beyond step commits is undescribed.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: Completed plan steps are immutable history with per-step commits and revision shas; steps carry review states.
thinkrail:PLAN-03: The pinned release implements a flat workspace model (own branch/cwd, settled/active states) with side workspaces and handoff growth, but no epics, parent/child depth, blockers, readiness gates, dependency enforcement or state propagation. A bundled workflow skill set routes by default without a mandatory gate. cross-checked
thinkrail:PLAN-03
The pinned release implements a flat workspace model (own branch/cwd, settled/active states) with side workspaces and handoff growth, but no epics, parent/child depth, blockers, readiness gates, dependency enforcement or state propagation. A bundled workflow skill set routes by default without a mandatory gate.
- No hierarchy, dependency or enforcement constructs exist; only the workflow routing default was found.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
thinkrail:PLAN-04: Project knowledge persists in the mtime-guarded SPEC.md graph the agent searches and maintains, plus pi skills, project skills and session state shared between CLI and app. Per-project trust grants scope what loads. Provenance, correction and freshness beyond index revalidation are only partly established. cross-checked
thinkrail:PLAN-04
Project knowledge persists in the mtime-guarded SPEC.md graph the agent searches and maintains, plus pi skills, project skills and session state shared between CLI and app. Per-project trust grants scope what loads. Provenance, correction and freshness beyond index revalidation are only partly established.
- Provenance is trust scoping, correction is file edits plus reload; deeper memory controls are undescribed.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
An agentic IDE that follows Pi's philosophy
Finding: ThinkRail embeds its own pi coding agent as a library running inside ThinkRail’s own process and shares pi’s ~/.pi folder, so CLI and app sessions keep history both ways. Skills and extensions from pi, Claude, Codex, Copilot and Gemini project folders are reused with per-chat switches. Desktop apps packaged with Electrobun run identically to the CLI browser host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail v0.3.2 — skillAdmission.ts
Finding: Project resources load only after per-project trust grants (trusted, piResourceTrust); untrusted is the default.
-
Finding: Spec CRUD plus validate and grep tools; the index revalidates by mtime/size and never serves stale. No approval, citation or conflict-detection tools.
thinkrail:PLAN-05: The agent retrieves code and specs through pi tools, spec_search and a ranked spec index that also powers palette # search; file text search, web research and MCP knowledge presets extend it. Voice dictation and @ files add input modalities. Retrieval freshness and scope are partly established; citations, conflict detection and review-time rule enforcement are not. cross-checked
thinkrail:PLAN-05
The agent retrieves code and specs through pi tools, spec_search and a ranked spec index that also powers palette # search; file text search, web research and MCP knowledge presets extend it. Voice dictation and @ files add input modalities. Retrieval freshness and scope are partly established; citations, conflict detection and review-time rule enforcement are not.
- Freshness and scope are partly established; no citation, conflict-detection or rule-enforcement mechanism exists.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Chat groups pi messages into styled batches with folded thinking and tool use, renders Markdown with Mermaid diagrams, highlights 36 languages with Shiki, and opens read-only code and diff tabs from Files. The composer references @ files.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: Spec CRUD plus validate and grep tools; the index revalidates by mtime/size and never serves stale. No approval, citation or conflict-detection tools.
thinkrail:PLAN-06: ThinkRail manages work as projects, workspaces (active to Settled shelf) and shared TODO plans rather than a labelled tracker: creation, edit, discussion, search, archive/Trash, reopen, dispatch-by-handoff and durable states exist and were confirmed in code, but prioritisation, labels, assignment and filters do not. No external tracker is required for core work. cross-checked
thinkrail:PLAN-06
ThinkRail manages work as projects, workspaces (active to Settled shelf) and shared TODO plans rather than a labelled tracker: creation, edit, discussion, search, archive/Trash, reopen, dispatch-by-handoff and durable states exist and were confirmed in code, but prioritisation, labels, assignment and filters do not. No external tracker is required for core work.
- No labelled, prioritised or assigned issue model exists in docs or code; work tracking is workspaces plus TODO plans.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
-
Finding: Completed plan steps are immutable history with per-step commits and revision shas; steps carry review states.
thinkrail:PLAN-07: The agent works the same workspaces, chats and PRs the human sees: it starts side workspaces with chats, checks their chats, PRs and diffs, delegates to subagents and reports results, all visible in the Resources view. Reads, creates and result reporting are established in docs and tool code. Claims, assignment, state changes, dependencies, issue children, attribution and conflict handling do not exist. cross-checked
thinkrail:PLAN-07
The agent works the same workspaces, chats and PRs the human sees: it starts side workspaces with chats, checks their chats, PRs and diffs, delegates to subagents and reports results, all visible in the Resources view. Reads, creates and result reporting are established in docs and tool code. Claims, assignment, state changes, dependencies, issue children, attribution and conflict handling do not exist.
- Agent issue operations are limited to the documented tool set; tracker-style claim/assign/state/dependency operations do not exist.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
ThinkRail v0.3.2 — extension.ts
Finding: Delegation tools are product-bundled: Agent with per-call model and thinking choice plus background runs, and get_subagent_result for status and finished reports. Subagents cannot call MCP tools.
-
ThinkRail v0.3.2 — extension.ts
Finding: Background commands are session-owned with start, list, output and stop; at most 8 active with the latest 20 finished records retained.
thinkrail:PLAN-08: SPEC.md files form a versioned, human- and agent-editable requirement graph beside the code with frontmatter parent links, maintained by spec_* tools and retrieved in later work through agent search and palette # search. Approval rules, automated drift checks and review-time spec gates do not exist. cross-checked
thinkrail:PLAN-08
SPEC.md files form a versioned, human- and agent-editable requirement graph beside the code with frontmatter parent links, maintained by spec_* tools and retrieved in later work through agent search and palette # search. Approval rules, automated drift checks and review-time spec gates do not exist.
- Approval rules and review-time spec gates do not exist; drift control is convention plus a validate tool.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: Per-step independent review with locks and reviewer roles. No spec-conformance checks at review.
-
Finding: Spec CRUD plus validate and grep tools; the index revalidates by mtime/size and never serves stale. No approval, citation or conflict-detection tools.
thinkrail:COORD-01: Several sessions run concurrently per workspace and several workspaces run in parallel, each isolated on its own branch and cwd — implemented in the session manager with parallel Agent calls and background commands. The Projects rail and Resources views show running work. No quotas exist. cross-checked
thinkrail:COORD-01
Several sessions run concurrently per workspace and several workspaces run in parallel, each isolated on its own branch and cwd — implemented in the session manager with parallel Agent calls and background commands. The Projects rail and Resources views show running work. No quotas exist.
- No concurrency quotas exist in docs or code.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
ThinkRail v0.3.2 — extension.ts
Finding: Delegation tools are product-bundled: Agent with per-call model and thinking choice plus background runs, and get_subagent_result for status and finished reports. Subagents cannot call MCP tools.
-
ThinkRail v0.3.2 — extension.ts
Finding: Background commands are session-owned with start, list, output and stop; at most 8 active with the latest 20 finished records retained.
thinkrail:COORD-02: Dispatch is user-initiated: people create workspace chats and agents delegate to subagents; worktree isolation prevents file collision. No queues, claims, routing, duplicate prevention or enforced ownership exist in docs or code. cross-checked
thinkrail:COORD-02
Dispatch is user-initiated: people create workspace chats and agents delegate to subagents; worktree isolation prevents file collision. No queues, claims, routing, duplicate prevention or enforced ownership exist in docs or code.
- No queue, claim, routing, duplicate-prevention or ownership-enforcement construct exists.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
-
Finding: No user, organisation, role, SSO, membership or provisioning model in code. Single-owner external auth.
thinkrail:COORD-03: ThinkRail-bundled pi-subagents and pi-delegation give every parent session Agent and get_subagent_result tools over isolated child sessions, with per-session model and effort choice, live progress and retained outcomes in Resources. Delegation is pi-only with no cross-harness teams; child messaging detail and auth are undescribed, and follow-up is re-reading, not reopening. cross-checked
thinkrail:COORD-03
ThinkRail-bundled pi-subagents and pi-delegation give every parent session Agent and get_subagent_result tools over isolated child sessions, with per-session model and effort choice, live progress and retained outcomes in Resources. Delegation is pi-only with no cross-harness teams; child messaging detail and auth are undescribed, and follow-up is re-reading, not reopening.
- Delegation is pi-only with no cross-harness teams; messaging detail, auth and reopening are undescribed or absent.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
ThinkRail v0.3.2 — extension.ts
Finding: Delegation tools are product-bundled: Agent with per-call model and thinking choice plus background runs, and get_subagent_result for status and finished reports. Subagents cannot call MCP tools.
-
Finding: No user, organisation, role, SSO, membership or provisioning model in code. Single-owner external auth.
thinkrail:COORD-04: Unattended triggers do not exist: bounded v0.3.2 inspection of packages/server, apps/* and packages/* for schedul|cron|trigger|recur|setInterval-based scheduling found only UI polling, update checks and request replay. No schedules, event triggers, recurring tasks or completion-driven runs exist. cross-checked
thinkrail:COORD-04
Unattended triggers do not exist: bounded v0.3.2 inspection of packages/server, apps/* and packages/* for schedul|cron|trigger|recur|setInterval-based scheduling found only UI polling, update checks and request replay. No schedules, event triggers, recurring tasks or completion-driven runs exist.
- No scheduler, trigger, recurrence or completion-condition mechanism exists in the pinned release.
-
Finding: Bounded inspection found no user-facing schedules, event triggers, recurring tasks or completion-driven runs.
thinkrail:COORD-05: Running turns accept steering and queued follow-ups; background commands and subagents can be watched, inspected and stopped from Resources. MCP data-changing calls and structured agent questions surface as pending decisions with allow/deny control, and history persists. Pause, resume, escalation and terminal-side intervention do not exist; errors surface as toasts. cross-checked
thinkrail:COORD-05
Running turns accept steering and queued follow-ups; background commands and subagents can be watched, inspected and stopped from Resources. MCP data-changing calls and structured agent questions surface as pending decisions with allow/deny control, and history persists. Pause, resume, escalation and terminal-side intervention do not exist; errors surface as toasts.
- No pause, resume, escalation or terminal-side intervention exists.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail v0.3.2 — sessionHost.ts
Finding: MCP confirmation is product code: data-changing calls confirm with Deny, Allow once, Allow in this chat or Always allow, and fail closed with no UI attached.
-
ThinkRail v0.3.2 — ChatTranscript.tsx
Finding: User-facing error toasts exist; silent waits and escalation paths do not.
-
Finding: No approval or intervention model in terminal code.
thinkrail:COORD-06: The Projects panel lists workspaces across projects with settled states, attention markers and per-branch PR status; no parent/child, dependency or workload views exist and no fleet fixture was exercised. Navigation errors cannot be determined without running the product. cross-checked
thinkrail:COORD-06
The Projects panel lists workspaces across projects with settled states, attention markers and per-branch PR status; no parent/child, dependency or workload views exist and no fleet fixture was exercised. Navigation errors cannot be determined without running the product.
- No parent/child, dependency or workload views exist; no fleet fixture was exercised. Navigation errors need interaction and stay unknown.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
-
ThinkRail v0.3.2 — attentionNotificationEngine.ts
Finding: Attention engine with per-session unread holds plus desktop notifications.
thinkrail:COORD-07: Quick scratch chats grow into workspace work via Continue-in-workspace handoff, and plain-language side-workspace requests configure delegation; per-session model and effort plus mid-run steering adapt execution live. Bundled workflow skills exist without a mandatory preset gate. Roles during work and retained relationships are only partly described. cross-checked
thinkrail:COORD-07
Quick scratch chats grow into workspace work via Continue-in-workspace handoff, and plain-language side-workspace requests configure delegation; per-session model and effort plus mid-run steering adapt execution live. Bundled workflow skills exist without a mandatory preset gate. Roles during work and retained relationships are only partly described.
- Only the cited atomic findings are established. Live role labelling, retained relationship views and coordinator docs are only partly described.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
thinkrail:RUN-01: Execution is local: the desktop app and the CLI host run the in-process pi engine on the user’s own machine, provisioned by the installer, with no vendor cloud, no user-server path and no resource, region or expiry concepts. State rebuilds on other surfaces over the wire, but execution does not survive the originating host. cross-checked
thinkrail:RUN-01
Execution is local: the desktop app and the CLI host run the in-process pi engine on the user’s own machine, provisioned by the installer, with no vendor cloud, no user-server path and no resource, region or expiry concepts. State rebuilds on other surfaces over the wire, but execution does not survive the originating host.
- Local-only execution with no remote, hosted or laptop-independent operation; state follows surfaces, execution does not.
-
An agentic IDE that follows Pi's philosophy
Finding: ThinkRail embeds its own pi coding agent as a library running inside ThinkRail’s own process and shares pi’s ~/.pi folder, so CLI and app sessions keep history both ways. Skills and extensions from pi, Claude, Codex, Copilot and Gemini project folders are reused with per-chat switches. Desktop apps packaged with Electrobun run identically to the CLI browser host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
-
ThinkRail v0.3.2 — wsProtocol.ts
Finding: Hydrate-then-stream: clients rebuild projects, workspaces, sessions and transcripts on reload, second tab, phone or host restart; reconnect repairs missed deltas.
thinkrail:RUN-02: Isolation is git worktrees: separate directories, branches and cwds per workspace on the same machine and OS user, with env-based secret handling. No container, VM, OS-sandbox, process or network boundary exists; pi runs in-process. A worktree is file separation, not a security boundary. cross-checked
thinkrail:RUN-02
Isolation is git worktrees: separate directories, branches and cwds per workspace on the same machine and OS user, with env-based secret handling. No container, VM, OS-sandbox, process or network boundary exists; pi runs in-process. A worktree is file separation, not a security boundary.
- File separation only: same machine, user and process; no security boundary is claimed.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: ThinkRail is an agentic IDE for the Pi coding agent that complements its CLI. Desktop installers for macOS, Windows x64 and Linux x64/ARM64, or a CLI host that opens a browser tab. Every working session operates on a separate git branch merged only after review; LLM providers are configured in Settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: The host exposes only the internal /ws wire, /health and static/file routes. No public REST API, SDK surface, MCP server transport or webhooks exist in code.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
thinkrail:RUN-03: State reconstructs from host reads on reload, second tab, phone or host restart, with request replay and delta repair on reconnect; transcripts persist on disk. Disconnect, crash and multi-day behaviour on one machine are partly established. Expiry, duplicates handling and repair flows do not exist. cross-checked
thinkrail:RUN-03
State reconstructs from host reads on reload, second tab, phone or host restart, with request replay and delta repair on reconnect; transcripts persist on disk. Disconnect, crash and multi-day behaviour on one machine are partly established. Expiry, duplicates handling and repair flows do not exist.
- Continuity is same-machine persistence plus state rebuild; crash recovery, duplicates and repair are undescribed or absent.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
ThinkRail v0.3.2 — workspaces.ts
Finding: Flat workspace model with available/detached status and settled/active lifecycle. No epics, labels, priorities, queues, blockers, readiness gates or dependencies in code.
-
ThinkRail v0.3.2 — wsProtocol.ts
Finding: Hydrate-then-stream: clients rebuild projects, workspaces, sessions and transcripts on reload, second tab, phone or host restart; reconnect repairs missed deltas.
-
Finding: Bounded inspection found no user-facing schedules, event triggers, recurring tasks or completion-driven runs.
thinkrail:RUN-04: The only environment mechanism is per-host environment-variable injection for agents, terminals and MCP servers. Dependency setup, caches, snapshots, services, ports, duplication, collisions, remote setup and automatic repair do not exist in the product. cross-checked
thinkrail:RUN-04
The only environment mechanism is per-host environment-variable injection for agents, terminals and MCP servers. Dependency setup, caches, snapshots, services, ports, duplication, collisions, remote setup and automatic repair do not exist in the product.
- Environment support is env injection only; all other reliability mechanisms are absent.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
thinkrail:RUN-05: Limits and failure handling do not exist: bounded v0.3.2 inspection of the server found only model maxTokens passthrough and an internal session-shutdown budget. No time, turn, token or spend limits, timeouts, retries or provider-failure budgets exist. Token and cost displays are visibility, not enforcement. cross-checked
thinkrail:RUN-05
Limits and failure handling do not exist: bounded v0.3.2 inspection of the server found only model maxTokens passthrough and an internal session-shutdown budget. No time, turn, token or spend limits, timeouts, retries or provider-failure budgets exist. Token and cost displays are visibility, not enforcement.
- No limits, timeouts, retries or failure budgets exist in the pinned release.
-
Finding: No user-facing time, turn, token or spend limits, retries or failure budgets in code.
thinkrail:RUN-06: Turn receipts, folded tool steps, command log tails, per-chat token and cost ticks, MCP pending-confirm cards and topbar PR checks and review decisions give live status; per-chat token stats are the only statistics, and reconnects repair state. Usage export and measured responsiveness do not exist. cross-checked
thinkrail:RUN-06
Turn receipts, folded tool steps, command log tails, per-chat token and cost ticks, MCP pending-confirm cards and topbar PR checks and review decisions give live status; per-chat token stats are the only statistics, and reconnects repair state. Usage export and measured responsiveness do not exist.
- Statistics stop at per-chat tokens and cost; no export, aggregates or measured timings exist.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Chat groups pi messages into styled batches with folded thinking and tool use, renders Markdown with Mermaid diagrams, highlights 36 languages with Shiki, and opens read-only code and diff tabs from Files. The composer references @ files.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail v0.3.2 — wsProtocol.ts
Finding: Hydrate-then-stream: clients rebuild projects, workspaces, sessions and transcripts on reload, second tab, phone or host restart; reconnect repairs missed deltas.
-
Finding: No history, usage or task export in code.
-
ThinkRail v0.3.2 — web app source
Finding: No interaction-timing, review-effort or measurement instrumentation in code; shown figures are single documented cases and analytics.
thinkrail:RUN-07: Every chat ticks pi-reported tokens (input, output, cache reads and writes) and cost live; JetBrains AI quota snapshots on a 30-second default cadence with a 20-second PR-check refresh. Child, epic and aggregate costs, reconciliation, alerts, export and drill-down do not exist, and unknown subscription marginal cost is never rendered as zero. cross-checked
thinkrail:RUN-07
Every chat ticks pi-reported tokens (input, output, cache reads and writes) and cost live; JetBrains AI quota snapshots on a 30-second default cadence with a 20-second PR-check refresh. Child, epic and aggregate costs, reconciliation, alerts, export and drill-down do not exist, and unknown subscription marginal cost is never rendered as zero.
- Cost visibility is per-chat tokens plus quota snapshots only; no aggregation, reconciliation, alerts or export exists.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
JetBrains AI via the Central CLI
Finding: JetBrains AI models reach ThinkRail through the user-owned central CLI with a recurring AI-credit quota; sign-in, status and quota orchestration span the provider card and shell, with quota snapshots on a 1–3600 second cadence (30 seconds by default).
thinkrail:RUN-08: Parallel sessions and workspaces run with no declared concurrency limits, queues or resource awareness; the only controls are session ownership and stopping background commands or subagents. No bounded load behaviour was established in code. cross-checked
thinkrail:RUN-08
Parallel sessions and workspaces run with no declared concurrency limits, queues or resource awareness; the only controls are session ownership and stopping background commands or subagents. No bounded load behaviour was established in code.
- No limits, queues, resource awareness or bounded testing exist.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail v0.3.2 — extension.ts
Finding: Delegation tools are product-bundled: Agent with per-call model and thinking choice plus background runs, and get_subagent_result for status and finished reports. Subagents cannot call MCP tools.
-
ThinkRail v0.3.2 — extension.ts
Finding: Background commands are session-owned with start, list, output and stop; at most 8 active with the latest 20 finished records retained.
thinkrail:TEAM-01: Live human collaboration does not exist: ThinkRail is a single-owner local product whose auth model (Tailscale ACLs plus an owner field, no login UI) has no second user, shared prompting, presence, ordering, attribution or permission constructs. The launch post’s Git-and-GitHub line does not establish co-steering. cross-checked
thinkrail:TEAM-01
Live human collaboration does not exist: ThinkRail is a single-owner local product whose auth model (Tailscale ACLs plus an owner field, no login UI) has no second user, shared prompting, presence, ordering, attribution or permission constructs. The launch post’s Git-and-GitHub line does not establish co-steering.
- Single-owner product: no multi-user construct exists in docs or code.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: No user, organisation, role, SSO, membership or provisioning model in code. Single-owner external auth.
thinkrail:TEAM-02: Roles and access boundaries do not exist: no organisations, project or task roles, membership, SSO, provisioning, revocation or plan scoping, because there are no accounts. Host reach is a network (Tailscale) matter, and SSO is excluded by the no-login-UI non-goal. cross-checked
thinkrail:TEAM-02
Roles and access boundaries do not exist: no organisations, project or task roles, membership, SSO, provisioning, revocation or plan scoping, because there are no accounts. Host reach is a network (Tailscale) matter, and SSO is excluded by the no-login-UI non-goal.
- No role, membership, SSO or provisioning construct exists.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: No user, organisation, role, SSO, membership or provisioning model in code. Single-owner external auth.
thinkrail:TEAM-03: MCP data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow (per project, lapsing on entry change); repo resources and repo MCP entries stay off until explicit grants; shell-credential hygiene is host-enforced. The human user approves merges. Shell-command and network approvals are not a product surface, and no tunnels exist. cross-checked
thinkrail:TEAM-03
MCP data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow (per project, lapsing on entry change); repo resources and repo MCP entries stay off until explicit grants; shell-credential hygiene is host-enforced. The human user approves merges. Shell-command and network approvals are not a product surface, and no tunnels exist.
- No product-owned shell or network approval and no tunnels exist; MCP, trust-grant and delivery approvals do.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
An agentic IDE that follows Pi's philosophy
Finding: ThinkRail embeds its own pi coding agent as a library running inside ThinkRail’s own process and shares pi’s ~/.pi folder, so CLI and app sessions keep history both ways. Skills and extensions from pi, Claude, Codex, Copilot and Gemini project folders are reused with per-chat switches. Desktop apps packaged with Electrobun run identically to the CLI browser host.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: The host exposes only the internal /ws wire, /health and static/file routes. No public REST API, SDK surface, MCP server transport or webhooks exist in code.
-
Finding: No approval or intervention model in terminal code.
thinkrail:TEAM-04: Turn receipts, resource history, anchored review comments and PR states persist across sessions and host restarts; Settled workspaces and Trash give retention shape. History alteration is delete-only, export and integrity models do not exist, and no audit claim is made. cross-checked
thinkrail:TEAM-04
Turn receipts, resource history, anchored review comments and PR states persist across sessions and host restarts; Settled workspaces and Trash give retention shape. History alteration is delete-only, export and integrity models do not exist, and no audit claim is made.
- Retention shape only; no export or integrity model exists and no audit claim is made.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: No user, organisation, role, SSO, membership or provisioning model in code. Single-owner external auth.
-
Finding: No history, usage or task export in code.
-
ThinkRail v0.3.2 — server source
Finding: No audit, retention or integrity model in code.
thinkrail:TEAM-05: Review is a guided loop: the palette and Review-turn button surface pending work, stacked Changes tabs with Keep/Revert/Ask-agent plus Next-unreviewed (J key in code) navigate evidence, anchored comments and Fix-with-agent request changes, and the topbar names the next shipping step. Phone viewports adapt; effort timing, missed-evidence analysis and switching costs are not measured. cross-checked
thinkrail:TEAM-05
Review is a guided loop: the palette and Review-turn button surface pending work, stacked Changes tabs with Keep/Revert/Ask-agent plus Next-unreviewed (J key in code) navigate evidence, anchored comments and Fix-with-agent request changes, and the topbar names the next shipping step. Phone viewports adapt; effort timing, missed-evidence analysis and switching costs are not measured.
- Review effort, missed evidence and switching costs are not measured. Bulk and cross-branch review queues are judged in SHIP-06.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail v0.3.2 — viewport.ts
Finding: Phone-viewport detection adapts the UI below 767px width.
-
ThinkRail v0.3.2 — ChangesReviewPane.tsx
Finding: Keyboard operation including J for next-unreviewed plus palette and file-search shortcuts.
-
ThinkRail v0.3.2 — web app source
Finding: No interaction-timing, review-effort or measurement instrumentation in code; shown figures are single documented cases and analytics.
thinkrail:TEAM-06: Same-user continuity is implemented: previous conversations reopen with history and sessions move between the pi CLI and the app. Second-person takeover, ownership transfer, permissions, runtime handoff and context-loss handling do not exist in this single-owner product. cross-checked
thinkrail:TEAM-06
Same-user continuity is implemented: previous conversations reopen with history and sessions move between the pi CLI and the app. Second-person takeover, ownership transfer, permissions, runtime handoff and context-loss handling do not exist in this single-owner product.
- Same-user session continuity only; no second-person handoff exists to evaluate.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
An agentic IDE that follows Pi's philosophy
Finding: ThinkRail embeds its own pi coding agent as a library running inside ThinkRail’s own process and shares pi’s ~/.pi folder, so CLI and app sessions keep history both ways. Skills and extensions from pi, Claude, Codex, Copilot and Gemini project folders are reused with per-chat switches. Desktop apps packaged with Electrobun run identically to the CLI browser host.
-
Finding: No user, organisation, role, SSO, membership or provisioning model in code. Single-owner external auth.
thinkrail:SHIP-01: Diffs, documents, file previews, UI mockups, test outputs and reviewer outputs persist with the transcript and branch; per-run Changes tabs and per-hunk review carry the evidence. Screenshot capture, recordings, a cross-task gallery and prompt leakage into outputs do not exist in the pinned release. cross-checked
thinkrail:SHIP-01
Diffs, documents, file previews, UI mockups, test outputs and reviewer outputs persist with the transcript and branch; per-run Changes tabs and per-hunk review carry the evidence. Screenshot capture, recordings, a cross-task gallery and prompt leakage into outputs do not exist in the pinned release.
- No screenshot/record capture, cross-task gallery or prompt leakage path exists.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: No artifact gallery, screenshot or recording capture in code.
thinkrail:SHIP-02: Verification is agent-driven and displayed, not product-enforced: the agent runs tests in terminals, CI checks display on the PR, and plan steps can route to an independent reviewer. Required gates, lint/type gates, failure blocking, requirement-conflict handling and configured or enforced policy do not exist. cross-checked
thinkrail:SHIP-02
Verification is agent-driven and displayed, not product-enforced: the agent runs tests in terminals, CI checks display on the PR, and plan steps can route to an independent reviewer. Required gates, lint/type gates, failure blocking, requirement-conflict handling and configured or enforced policy do not exist.
- ThinkRail configures and enforces no verification gates of its own.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: Spec CRUD plus validate and grep tools; the index revalidates by mtime/size and never serves stale. No approval, citation or conflict-detection tools.
-
Finding: No required or enforced verification gates in code.
thinkrail:SHIP-03: The full GitHub loop is integrated in the topbar: own branches and worktrees, per-step commits, PR open/update through gh with templates or agent drafts, CI response with Fix-with-agent, rebase preview, and merge/reopen/branch-delete actions — all present in the pinned pr/github modules. PR-comment round-trips and GitLab review actions are the limits. cross-checked
thinkrail:SHIP-03
The full GitHub loop is integrated in the topbar: own branches and worktrees, per-step commits, PR open/update through gh with templates or agent drafts, CI response with Fix-with-agent, rebase preview, and merge/reopen/branch-delete actions — all present in the pinned pr/github modules. PR-comment round-trips and GitLab review actions are the limits.
- GitLab is limited to a prefilled MR page; forge PR-comment round-trips are undescribed in code.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: PR open/update/ready/merge/reopen/delete-branch through gh with checks display. Forge review-comment ingestion not found.
thinkrail:SHIP-04: The human user approves (Ready for review), merges (repo-allowed methods, remembered per project), reopens and deletes remote branches from the topbar, governed by GitHub merge state. Release and deploy authority do not exist in the product. cross-checked
thinkrail:SHIP-04
The human user approves (Ready for review), merges (repo-allowed methods, remembered per project), reopens and deletes remote branches from the topbar, governed by GitHub merge state. Release and deploy authority do not exist in the product.
- Release and deployment authority do not exist in the product.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: Complete CLI inventory: launch flags plus update and uninstall subcommands only. No session, task, steering or review operations exist in the launcher.
thinkrail:SHIP-05: Turn receipts and per-step commits link work to code, the topbar links branches to PRs with delivery state and retained transcripts, and local revert (hunk/file Keep/Revert) plus stale-approval invalidation (Keep lapses on re-edit) are built in. Build/deployment links and post-merge rollback do not exist. cross-checked
thinkrail:SHIP-05
Turn receipts and per-step commits link work to code, the topbar links branches to PRs with delivery state and retained transcripts, and local revert (hunk/file Keep/Revert) plus stale-approval invalidation (Keep lapses on re-edit) are built in. Build/deployment links and post-merge rollback do not exist.
- Build and deployment links plus post-merge rollback do not exist.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: PR open/update/ready/merge/reopen/delete-branch through gh with checks display. Forge review-comment ingestion not found.
thinkrail:SHIP-06: Per-branch review is implemented (receipts, retained findings, anchored change requests, next-step topbar, stale-Keep invalidation), and the Projects/Settled views list reviewable work — but grouping, risk filters, exact-revision batch approval, dependency queues and check dedup do not exist. No batch queue exists. cross-checked
thinkrail:SHIP-06
Per-branch review is implemented (receipts, retained findings, anchored change requests, next-step topbar, stale-Keep invalidation), and the Projects/Settled views list reviewable work — but grouping, risk filters, exact-revision batch approval, dependency queues and check dedup do not exist. No batch queue exists.
- Per-branch review only, not a coordinated batch review-and-delivery queue.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
ThinkRail 0.2.0: review the turn, not the chat log
Finding: Turn receipts (files changed plus Review turn button) and a stacked Changes tab with per-hunk Keep, Revert and Ask agent plus Next-unreviewed (J). MCP runs on pi’s built-in engine with presets (Context7, DeepWiki, Linear read-only, Sentry, Playwright); secrets must be ${VAR} or !command and repo .pi/mcp.json entries need per-entry approval; data-changing calls confirm in the chat with Deny, Allow once, Allow in this chat or Always allow.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: No batch review or dependency-aware merge queues in code.
thinkrail:OWN-01: ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b). cross-checked
thinkrail:OWN-01
ThinkRail is Apache-2.0 across the public repo: desktop app, CLI host, engine library, contracts, web UI and all bundled extensions ship from one codebase with no proprietary twin or licence exception. The revision is pinned to release v0.3.2 (commit 1bc1a9b).
- Single-repo finding: no component carries a different licence.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: Stable v0.3.2 published 2026-11-06; v0.4.0 stable published 2026-11-12 (latest at check time). Free desktop and CLI assets per platform with SHA256SUMS.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
thinkrail:OWN-02: The core ADE runs entirely on user-controlled machines with no vendor services to keep: optional companions are the user’s git, gh, central CLI and Tailscale. Uninstall removes the binary and optionally ~/.thinkrail state. Task, context and history export formats do not exist. cross-checked
thinkrail:OWN-02
The core ADE runs entirely on user-controlled machines with no vendor services to keep: optional companions are the user’s git, gh, central CLI and Tailscale. Uninstall removes the binary and optionally ~/.thinkrail state. Task, context and history export formats do not exist.
- Export formats and history portability do not exist.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
An agentic IDE that follows Pi's philosophy
Finding: ThinkRail embeds its own pi coding agent as a library running inside ThinkRail’s own process and shares pi’s ~/.pi folder, so CLI and app sessions keep history both ways. Skills and extensions from pi, Claude, Codex, Copilot and Gemini project folders are reused with per-chat switches. Desktop apps packaged with Electrobun run identically to the CLI browser host.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: No history, usage or task export in code.
thinkrail:OWN-03: Code, prompts and credentials stay with the user: in-process pi sends them to the user’s own providers, never to ThinkRail servers. Telemetry is basic install-ID events plus always-on error reports via PostHog; extra sharing is opt-in at first run and in Settings Privacy (or --no-analytics). Retention beyond a 30-day link expiry, training use and residency are unstated business facts. cross-checked
thinkrail:OWN-03
Code, prompts and credentials stay with the user: in-process pi sends them to the user’s own providers, never to ThinkRail servers. Telemetry is basic install-ID events plus always-on error reports via PostHog; extra sharing is opt-in at first run and in Settings Privacy (or --no-analytics). Retention beyond a 30-day link expiry, training use and residency are unstated business facts.
- Retention timelines, training use and residency are unstated.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
Finding: No user, organisation, role, SSO, membership or provisioning model in code. Single-owner external auth.
thinkrail:OWN-04: ThinkRail itself is free: Apache-2.0 source, free downloads, no accounts, no paid plan and no metered units. Model and compute spend belongs to the user’s own providers and hardware and is never billed or marked up by ThinkRail. Billing dimensions do not apply to a product with no paid offering. cross-checked
thinkrail:OWN-04
ThinkRail itself is free: Apache-2.0 source, free downloads, no accounts, no paid plan and no metered units. Model and compute spend belongs to the user’s own providers and hardware and is never billed or marked up by ThinkRail. Billing dimensions do not apply to a product with no paid offering.
- No paid plans exist, so billing atoms are moot business facts; model and compute spend is the user’s own provider and hardware cost.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
JetBrains AI via the Central CLI
Finding: JetBrains AI models reach ThinkRail through the user-owned central CLI with a recurring AI-credit quota; sign-in, status and quota orchestration span the provider card and shell, with quota snapshots on a 1–3600 second cadence (30 seconds by default).
-
Finding: Stable v0.3.2 published 2026-11-06; v0.4.0 stable published 2026-11-12 (latest at check time). Free desktop and CLI assets per platform with SHA256SUMS.
-
Finding: Repository licensed under the Apache License, Version 2.0.
thinkrail:OWN-05: Fixed ThinkRail cost is $0 for one, two or five developers (free installs, parallel workspaces included, no seats). Variable cost is the team’s own provider spend on tokens; no invented per-task averages are used. Two-person collaboration is limited by the single-user design and shared via git. cross-checked
thinkrail:OWN-05
Fixed ThinkRail cost is $0 for one, two or five developers (free installs, parallel workspaces included, no seats). Variable cost is the team’s own provider spend on tokens; no invented per-task averages are used. Two-person collaboration is limited by the single-user design and shared via git.
- Fixed $0 cost is established; variable provider spend cannot be fixed without usage assumptions, which are not invented.
-
ThinkRail — the agentic IDE that gets better every time you use it
Finding: Agentic IDE around the pi agent: git-worktree workspaces with own branch and cwd, Monaco editor tabs, terminals, diffs, concurrent chats with per-session model and live token/cost ticks, and a spec graph the agent reads. Desktop apps for macOS, Windows and Linux plus a thinkrail CLI that opens the same app in a browser. Open source Apache-2.0; a JetBrains InnovationHub project.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
JetBrains AI via the Central CLI
Finding: JetBrains AI models reach ThinkRail through the user-owned central CLI with a recurring AI-credit quota; sign-in, status and quota orchestration span the provider card and shell, with quota snapshots on a 1–3600 second cadence (30 seconds by default).
-
Finding: Stable v0.3.2 published 2026-11-06; v0.4.0 stable published 2026-11-12 (latest at check time). Free desktop and CLI assets per platform with SHA256SUMS.
-
Finding: Repository licensed under the Apache License, Version 2.0.
thinkrail:OWN-06: Pre-1.0 beta under active development: stable v0.3.2 plus public nightlies with daily commits, free of access restrictions beyond provider credentials. Support is Discord plus GitHub issues with no committed response times and no published status history; uninstall documents exit without export. cross-checked
thinkrail:OWN-06
Pre-1.0 beta under active development: stable v0.3.2 plus public nightlies with daily commits, free of access restrictions beyond provider credentials. Support is Discord plus GitHub issues with no committed response times and no published status history; uninstall documents exit without export.
- Response commitments, status history and export options are unpublished or absent.
-
ThinkRail 0.3.0: the whole loop in one window
Finding: Topbar Remote and Pull request segments drive publish, push, sync, open-PR and merge through the user-owned gh CLI, showing CI checks and review decision re-read every 20 seconds; merging locally and GitLab review actions are not yet available. First-run wizard detects signed-in Claude Code, Codex, Copilot, Kimi CLI or Grok Build configs and connects through pi auth without borrowing their credentials.
-
Finding: Command palette finds chats, workspaces, commands and settings. Custom OpenAI chat-completions servers (Ollama, LM Studio, vLLM, llama.cpp presets) are saved into pi models.json. pi packages install from Settings for the user or a repository. Post notes ThinkRail is backed by JetBrains and links X (@ThinkRailAI), YouTube, TikTok, Discord and the GitHub repository.
-
Finding: Fifteen numbered components: chat tabs with turn summaries and Review turn, read-only file and diff tabs, chat history popup, terminals, per-chat token usage, Resources popup (background commands, subagents, MCP servers), Skills popup, model picker, Projects/workspaces/Settled panel, Specs/Files/Changes/Review/TODO panels, command palette, and provider, MCP, prompt, Pi-config and chat-tuning settings.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
Finding: Stable v0.3.2 published 2026-11-06; v0.4.0 stable published 2026-11-12 (latest at check time). Free desktop and CLI assets per platform with SHA256SUMS.
-
Finding: Public repository in the JetBrains organisation, default branch main, pushed 2026-11-12. 8,189 stars, 518 forks and 257 open issues observed 2026-11-12. Licensed Apache-2.0; homepage thinkrail.ai.
-
Finding: Repository licensed under the Apache License, Version 2.0.
-
Finding: GitHub issues is the venue for bugs and feature requests, with Discord linked for discussion. No roadmap document, changelog file or milestones were found; release history is spread across the blog and releases.
-
Finding: No history, usage or task export in code.
thinkrail:OWN-08: Free outright: Apache-2.0 source with free desktop and CLI downloads and no paid plan, card, trial, credit programme, gated early access or usage caps. Meaningful evaluation needs only provider credentials (JetBrains AI or own keys/local models); two-person same-work collaboration is limited by the single-user design. cross-checked
thinkrail:OWN-08
Free outright: Apache-2.0 source with free desktop and CLI downloads and no paid plan, card, trial, credit programme, gated early access or usage caps. Meaningful evaluation needs only provider credentials (JetBrains AI or own keys/local models); two-person same-work collaboration is limited by the single-user design.
- Evaluation needs provider credentials; same-work two-person scenarios are limited by the single-user design.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
ThinkRail — top-level architecture
Finding: Engine host (Bun HTTP+WS with one in-process pi session per chat) launched by the CLI or the Electrobun desktop shell; typed versioned wire protocol; mobile-first React UI that dials any host over the network, with a phone reaching the selected host over Tailscale. Desktop profile is local only; a later shared-client profile can dial an existing host. Bundled extensions pi-spec-graph, pi-thinkrail-workflow and pi-todos; portable packages pi-delegation, pi-background-commands and pi-subagents (Agent plus get_subagent_result tools) bundled into every parent session.
-
Finding: Stable v0.3.2 published 2026-11-06; v0.4.0 stable published 2026-11-12 (latest at check time). Free desktop and CLI assets per platform with SHA256SUMS.
-
Finding: Repository licensed under the Apache License, Version 2.0.
thinkrail:OWN-09: Pricing is transparent because there is nothing to hide: free with no paid plan, no metered units, no overages, no markups, no minimums and nothing sales-gated. Model and compute economics are the user’s own provider and hardware spend, never marked up. cross-checked
thinkrail:OWN-09
Pricing is transparent because there is nothing to hide: free with no paid plan, no metered units, no overages, no markups, no minimums and nothing sales-gated. Model and compute economics are the user’s own provider and hardware spend, never marked up.
- Billing atoms do not apply to a free product with no paid tier.
-
Finding: Native desktop installer plus self-contained thinkrail CLI with stable and nightly channels and checksum verification. Workspaces are git worktrees with own branch and cwd; finished ones settle after PR merge/close or a quiet week. Concurrent sessions per workspace each with its own model; shared TODO plans with per-step review; subagents and background commands watched from a per-chat Resources view; spec tools; skills import from Claude/Codex agents; MCP from pi mcp.json; JetBrains AI or any pi provider auth with no ThinkRail accounts. App state lives under ~/.thinkrail. Basic usage events tie to a random install ID; extra sharing is opt-in via Settings Privacy or --no-analytics.
-
ThinkRail — product goal and scope
Finding: pi is the only engine, run in-process, with no second runtime. Git, GitHub and model access go through the user-owned git, gh and central CLI plus pi provider auth; ThinkRail keeps no accounts or tokens. Cloned-repository resources and repo MCP servers load only after a per-project trust grant. Capabilities include projects-to-workspaces, scratch chats, concurrent steerable chats, plans with per-step independent review, subagents and background commands, agent-started workspaces, anchored review comments, PR open/update via gh, specs, workflows, providers, pi config, agent tools, pi packages and MCP. Non-goals: a second agent runtime, and ThinkRail accounts or a login UI — who may reach a host is decided by Tailscale ACLs.
-
JetBrains AI via the Central CLI
Finding: JetBrains AI models reach ThinkRail through the user-owned central CLI with a recurring AI-credit quota; sign-in, status and quota orchestration span the provider card and shell, with quota snapshots on a 1–3600 second cadence (30 seconds by default).
-
Finding: Stable v0.3.2 published 2026-11-06; v0.4.0 stable published 2026-11-12 (latest at check time). Free desktop and CLI assets per platform with SHA256SUMS.
-
Finding: Repository licensed under the Apache License, Version 2.0.