ThinkRail is an agentic IDE developed by JetBrains InnovationHub as a JetBrains incubator project and released under the Apache License 2.0. It is a thin host around the open-source pi coding agent: pi runs in-process and owns models, skills, context compaction, cost tracking and session state, while ThinkRail provides the workspace, the editor and the user interface. JetBrains introduced it in August 2026 and shipped version 0.2.0 on October 18, 2026; nightly builds are also published.
Work is organised into projects and workspaces. Any local git repository can be opened as a project, and each workspace is a git worktree with its own branch, files, terminals and chats, so several agents can work in parallel without touching your main checkout. Around the agent sits a real IDE: Monaco editor tabs, a files tree with change marks, terminals scoped to the worktree, a live diff of the workspace branch, anchored review comments, and since 0.2.0 a receipt and Review turn button for every agent turn with keep or revert per hunk. Finished workspaces move to a per-project shelf when their pull request merges or closes or after a period of inactivity.
ThinkRail is spec-first: a connected graph of SPEC.md files lives beside the code, and the agent reads, searches and maintains it with dedicated tools so intent survives between sessions. It also reads existing Agent Skills, includes workflows for project setup, design brainstorming and shipping a GitHub pull request through your own gh CLI, supports MCP servers with approval before calls that are not marked read-only, and can run several concurrent pi sessions per workspace with per-session model choice and live token and cost readouts.
ThinkRail has no accounts of its own: you sign in with JetBrains AI or connect any provider through pi's own authentication, so model costs depend on that provider. It ships as a desktop app for Apple Silicon Macs, Windows x64 and Linux, or as a thinkrail CLI that opens the same app in a browser. The README states that basic usage events and error reports tied to a random installation ID are always sent, never including prompts, code, files or credentials, while additional usage sharing can be switched off in Settings or with --no-analytics.
