thinkrail blog workspace/blog · from main

GUI overview

This blog post is going to be a bit different from the others. We will take a quick walk through ThinkRail’s Graphical User Interface. Below, you will find ThinkRail’s graphical components, grouped into the chat, the workspace around it, and the settings. For each component, there is a screenshot with the most important visual elements highlighted, plus a one-sentence description of the component’s purpose. Click a screenshot to see it in full size. In addition, if we have already published a separate blog post about the given feature, there is a link to it.


The main GUI The main GUI

Please note that ThinkRail is still in development. This blog post discusses features and their visual elements as they appear in version 0.3.0 (Nightly) on October 27, 2026. If you are reading this a few months later, your experience may differ.


The chat

1. The chat tab where you talk with the AI agent. A turn that changed files ends with a summary and a Review turn button (ThinkRail 0.2.0). Chat tab with a finished turn and the message box
A file opened in a tab next to the chat 2. A read-only file tab in the same window, where you can read the code your agent wrote.
3. The chat history popup, where you can reopen, rename, or delete previous conversations. Chat history popup listing recently closed chats
The New terminal in this group button 4. A button that opens a new terminal as a tab next to your chats.
5. Token usage of the current chat: input, output, cache reads and writes, cost, and how full the context window is. Token usage bar above the chat
Resources popup with background work and MCP servers 6. The Resources popup, where you can follow the background commands and subagents your agent started, and the MCP servers the chat uses.
7. The Skills popup, where you can switch skills on and off for the chat and reload them when they change on disk (An agentic IDE that follows Pi’s philosophy). Skills popup with a switch for each skill
Model picker with recent models and the effort slider 8. The Model picker, where you choose the LLM for the current chat and its reasoning effort.

The workspace

9. The Terminal panel, where you can type commands and work with your OS. Terminal panel with a restored session
Projects panel with three projects and their workspaces 10. The Projects panel: your open projects, the workspaces in each, and the Settled shelf for finished ones (ThinkRail Workspaces).
11. The current project, workspace, and branch, and how the branch stands against its remote and pull request. Top bar with project, workspace, branch, remote, and pull request
Specs panel showing the spec tree 12. The Specs panel, where you can browse all the specifications of the project (ThinkRail Spec-Driven Development).
13. The Files panel, where you can browse and open the project’s files, or show only the changed ones. Files panel with the All and Changed views
Changes tab with a side-by-side diff and the changed files 14. The Changes panel, where you review what the agent changed in the last turn or on the whole branch (ThinkRail 0.2.0).
15. The Review panel, where you collect comments on lines of files and diffs and send them to the agent. Review panel next to a diff
TODO List rail next to the plan of a chat 16. The TODO list, where you and your agent plan the next steps, with the full plan one click away (ThinkRail 0.2.0).

Create project

The Welcome screen lets you choose between starting a new project by drafting specifications, start to code immediately in a new workspace, or simply open an existing project. (Introducing ThinkRail Welcome screen
Create a workspace The window that lets you create a configure a new workspace (git worktree) within your project. (ThinkRail Workspaces)
A popup that lets you create a new project from the Projects list in the main GUI Create Project popup

Settings

Choose the default model for new chats and for reviews, and which models show up in the picker. Settings, Models page
Settings, Providers page Connect your LLM providers, with a subscription or an API key.
Add MCP servers from presets or your own configuration; ThinkRail asks in the chat before calls that may change data (ThinkRail 0.2.0). Settings, MCP servers page
Settings, Prompt templates page Create templates for your most frequently used prompts, for one project or for all of them.
Choose the Pi config folder ThinkRail uses, and set environment variables for the agent, terminals, and MCP servers. Settings, Environment page
Settings, Chat page Tune the chat: message order, message box size, line width, how the view follows a streaming answer, and how many subagents a chat may run.
Pick a theme and contrast level, and the line width for files and diffs. Settings, Appearance page
Settings, Language page Change the interface language, or add your own translation.
Switch between layout presets (Balanced, Focus, Review) or save your own panel arrangement. Settings, Layout page
Settings, Terminal page Choose how much terminal output to restore when you come back to a terminal.
Set the time after which an idle workspace moves to the Settled shelf. Settings, Workspaces page
Settings, Integrations page Check that the GitHub CLI is signed in, so you can create workspaces from remote branches.
Switch ThinkRail’s extensions on or off, such as Visualize, which lets the agent draw diagrams, comparisons, and mockups in the chat. Settings, Extensions page
Settings, Notifications page Get notified when a workspace needs your attention.
Decide whether you want to share additional anonymous usage data with us. Settings, Privacy page
Settings, Feedback page Schedule an interview, or join our Discord server, and share your thoughts with us.

Other features, not pictured here

Some features don’t fit in a single screenshot, for example that in ThinkRail the agent asks you multiple-choice questions in the chat instead of guessing what you want, and that it can display mockups for “before” and “after” right in the conversation, when working on diagrams, infographics, icons, etc. There is also the Cmd/Ctrl+K key shortcut that takes you to the chat waiting for you; the approval prompt on MCP calls that may change data; the full Plan page, where each finished step shows its summary and verification; and the top bar actions which you can use to publish your branch, open a pull request, and show its CI checks. The ThinkRail 0.2.0 post discusses some of those features in more detail.

Try out ThinkRail

Grab the desktop app below, or see the rest of what ThinkRail does on our main webpage.

Find us on social media platforms: X/Twitter, YouTube, and TikTok. You can also browse our GitHub repository, take our survey, and join our Discord server to say “hi!” and let us know what you think. Your feedback is greatly appreciated.

Happy developing!


ThinkRail is backed by JetBrains, leveraging their expertise in building developer tools that are both powerful and intuitive.

macOS

Apple Silicon
Browser UI via command line

Install the local launcher; run thinkrail to open the browser UI.

curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash

Windows

Browser UI via command line

Install the local launcher; run thinkrail to open the browser UI.

PowerShell

irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex

Command Prompt (cmd)

powershell -c "irm https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.ps1 | iex"

WSL

curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash

Linux

Browser UI via command line

Install the local launcher; run thinkrail to open the browser UI.

curl -fsSL https://raw.githubusercontent.com/JetBrains/thinkrail/main/install.sh | bash

Thanks for downloading ThinkRail!

While it's downloading, here are more useful things:

A two-minute survey

Help us improve ThinkRail — tell us about your prior experience and what brought you here. By continuing, you agree to our privacy policy.