ThinkRail 0.3.0: the whole loop in one window, now in your language ThinkRail released version 0.3.0, adding a topbar that shows remote and pull-request status with Publish, Push N, Sync, Open PR and Merge PR actions routed through the user's signed-in gh CLI, plus a first-run setup wizard and built-in Spanish, Simplified Chinese and Japanese interface translations. The release also merges the separate Files and Changes trees into one Files panel with an All | Changed switch and limits the model list to models the user's account can actually use. ThinkRail re-reads pull-request checks every 20 seconds, and merging locally and GitLab review actions are not yet supported. ThinkRail https://thinkrail.ai/?utm source=blog&utm medium=organic-social&utm campaign=release-0-3-0 0.3.0 is out. The new release of ThinkRail introduces a few new features that we’ve been working on for some time, as well as a number of fixes and other changes. Here’s what I find the most important among them. Ship the branch from the topbar The main thing I wanted fixed was the last mile. The agent finishes, I review the diff, and then I leave the app: a terminal to push, the browser to open the PR, another tab to wait for CI, back to GitHub to merge. Four context switches to do the boring part. Now the topbar always shows Remote and Pull request for the open workspace, and each one tells you the next step. Remote reads No remote , Not published , In sync , or how far ahead or behind you are, with Publish , Push N or Sync… right next to it. Sync shows you the git pull --rebase it would run and never force-pushes. Open PR uses the same dialog as the Plan pane. The description can come from the chat’s plan, the commits, your repository’s PR template, or nothing, and Generate with agent drafts it without dropping a message into the chat. On GitLab you get Create MR . Once the PR is open, the topbar shows the checks and the review decision, and the button moves to whatever comes next: Fix with agent when checks fail, Ready for review for a draft, Merge PR when GitHub says it’s mergeable. Merge goes by GitHub’s merge state, not by counting approvals. The merge dialog offers only the methods your repo allows and remembers your choice per project. A merged or closed PR gets Reopen and Delete remote branch . While checks run, it re-reads them every 20 seconds. It talks to GitHub through your gh CLI, so gh has to be installed and signed in. Not there yet: merging locally, and review actions on GitLab. A first run that ends with a working model A fresh install used to open on an empty Projects rail, a “No model provider connected” warning and a long list of providers in Settings. Not a great first five minutes. Now a short wizard takes over the window: a quick intro, the privacy question, then Connect a model . If Claude Code, Codex, Copilot, Kimi CLI or Grok Build is already signed in on your machine, it shows up under Detected with your plan. ThinkRail only reads those tools’ own config files to find them no Keychain, no network , and it never borrows their credentials: you still sign in through pi’s own flow. When a provider is connected, it checks that the provider really lists models and a default, without spending tokens, and drops you on Start a new project or Open project . Skip setup is there if you know what you’re doing. Related fix: the model list now shows only the models your account can actually use. Signing in with ChatGPT used to offer the whole OpenAI API catalog, and the first chat died on gpt-4 with a 400. New chats now start on pi’s default for the provider instead of whatever came first in the list. ThinkRail in your language The interface is no longer English-only. Spanish, Simplified Chinese and Japanese ship built in, and System follows your OS language. Switch it in Settings › Language . Missing your language? Download en.json from that page, translate it, and save it as ~/.thinkrail/locales/