# Changelog (release notes) Source: https://docs.piebald.ai/changelog Latest updates and improvements to Piebald. ## Piebald v0.6.2 In Piebald v0.6.2 we’ve fixed a few more bugs reported after v0.6.1 and added a few more enhancements: * Added a red trash icon next to the Done, Abandoned, and Backlog quick status buttons when holding Ctrl/Cmd and hovering over a chat in the sidebar * Added an environment variable `PB_SKIP_AUTH_TOKEN` that can be set before launching the Piebald Web server to remove the requirement for the token auth screen * Added Gemini 3.6 Flash to the hardcoded list of Antigravity models (fallback in case automatic listing fails) * Fixed a bug where long 424-character message IDs generated by GitHub when using GitHub Copilot (for Business) break when sent to OpenAI, which requires 64-character message IDs * Fixed a bug where OpenAI-generated reasoning traces would break the chat when switching to an Anthropic provider * Fixed a bug where DeepSeek v4 Flash reasoning traces would sometimes not be passed back * Fixed a bug where parallel tool calls in the OpenAI Responses API would sometimes not be batched properly * Fixed a bug where the notification for requiring authentication for MCP servers would sometimes not show * Fixed a bug where spawning MCP servers only looked for `.exe` files on Windows, so `npx` would report as not found if it existed in PATH as `npx.cmd` * Updated several dependency versions ## Piebald v0.6.1 In Piebald v0.6.1 we’ve fixed a few bugs reported after v0.6.0 and added a few more enhancements: * Fixed the `WebFetch` tool’s schema containing `oneOf` which broke some providers. * Fixed a bug with OpenAI providers when “Parallel tool calls” is on but no tools are enabled. * Made Mermaid diagram support more robust against common syntax errors. * Made goals automatically stop if the model responded with no tool calls three times in a row. * Made message regeneration delete the previous message for Pro users if it only contained an error message. * Fixed integrated terminal PTY errors on newer versions of Windows. * Removed the “Custom” badge for custom providers. * Extended error classification to cover more error messages from different providers. ## Piebald v0.6.0 In Piebald v0.6.0, we’ve added the ability for AI to search your past Piebald chats, experimental support for enterprise system proxies, an enhanced chat searching UI and “all chats” page, the ability to use Piebald with your SuperGrok subscription, and experimental support for OpenCues! ## AI chat search AI can now search for text across all of your past chats with a `SearchChats` tool. You can tell it to look for chats about a certain topic, and even specify start and end date ranges. ## Experimental: enterprise proxy support (Pro) Piebald now supports using any proxy configured by your system, either automatically via PAC (proxy autoconfig) files or manually. It also supports different types of proxies such as SOCKS5 and HTTPS, and different types of proxy authentication such as NTLM and Kerberos. Windows, macOS, and Linux are supported. The Piebald team doesn’t have access to enterprise systems where PAC files and NTLM/Kerberos authentication are used, so while we have internal unit and integration tests for all aspects of proxy support, and while we have tested basic proxy support with local proxies like Reqable and Charles and simulated enterprise environments, we haven’t been able to manually test all advanced aspects of our proxy support in a real setting. Please report any bugs you encounter! ## Enhanced chat searching UI and “all chats” page We’ve refreshed the chat searching UI, moving it to the sidebar instead of a dialog, and making it resemble VS Code’s search in UI and controls. It’s also clearer—the previous search had bugs that sometimes made results hard to access. And when you click the “View all chats”, Piebald will now show all the chats in a clean layout with different sorting, filtering, and display options. ## SuperGrok subscription support You can now sign in to your SuperGrok subscription in Piebald. supergrok.png ## Experimental: OpenCues support Piebald now features experimental support for [OpenCues](https://opencues.com/) ([GitHub repo](https://github.com/opencues/opencues)), an open standard for two text surfaces—cues and blanks—where the AI can watch you type, comment helpfully on what you’re writing, and suggest alternatives and completions. ## GitHub-style inline color swatches (Pro) / Buttons to download a plan and chat history When you or the model mentions a CSS color as hex `#a1b2c3`, RGB (`rgb(12, 34, 56)`), or HSL (`hsl(123, 50%, 75%)`), Piebald will now show a sample of that color on the right, like GitHub. color_swatches.png There’s also a new button on plans to download the plan to a file, and a new button in the Edit menu at the top of the app to download the whole chat history to a file. ## Other In addition to the above, we’ve also added a few smaller features and UI enhancements: * Enhanced the sidebar to show **what kind of tool—edit, terminal command, MCP, question, or plan—is waiting for user input/approval** * Added a **"recommended" badge and a pros/cons list** to suggested answers when the AI asks you questions * Added **3 new settings in Settings → Agent context** to disable loading global/local skills and `AGENTS.md` * Added builtin tools to **list and read MCP resources from MCP servers** * Added the ability to **hide providers from the main provider list** * Enhanced the **startup screen** * Added 16 new **guided tours** and improved the tour selection interface * Added **automatic suggestion to create a new branch** when filtering by a worktree name that doesn't exist We’ve fixed numerous bugs that we’ve encountered ourselves and that users have graciously reported. **Error handling:** * Increased the number of automatic retries from 3 to 10 * Increased error automatic retry coverage to include empty provider responses * Fixed a bug where automatic retry didn't take effect for many error types * Reduced the accumulated delays between automatic retries * Fixed an issue with OpenAI Responses API support where `arguments.done`/`output_item.done` being omitted could make finished responses automatically retry unnecessarily * Enhanced the friendly error message for "no upstream channel" errors * Enhanced error display for Bedrock validation errors * Enhanced error display for negative provider account balance errors * Fixed a bug where dismissing a generation error didn't remove the message, leaving an empty message shell * Fixed bugs with the ChatGPT rate limit reset display * Corrected timezone detection for rate limit errors with a scheduled reset * Fixed a bug where certain models used via OpenCode Zen would automatically retry a perfectly fine response indefinitely * Fixed the classification of errors from Claude Code caused by the OAuth token being revoked * Fixed the classification of errors caused by `max_completion_tokens` being out of range **Provider support:** * Implemented preservation of reasoning across multiple calls to OpenAI Responses APIs * Added support for a quirk in some OpenAI-compatible APIs where role is null * Refactored Amazon Bedrock requests to go through our internal HTTP plumbing instead of the AWS SDK * Made changes to the current provider/model propagate to the generation loop * Added support for decompression of Brotli-compressed responses from the Anthropic API * Made support for OmniRoute/9router more stable * Made support for quirks in Anthropic-compatible APIs more stable * Made support for unknown streamed item types (e.g. “reasoning”) more stable * Fixed a bug where subagents weren't using the profile's generation config * Fixed a bug where the device code dialog wouldn't close until sign-in was complete **Claude Code:** * Fixed a bug where assistant text in `Stop`, `SubagentStop`, and `StopFailure` hook payloads was empty * Fixed a bug where opening projects in the home directory would load hooks twice * Fixed a bug with Claude Code prompt caching * Fixed an additional bug with Claude Code support **Tools and MCP:** * Sharpened the plan approval message to fix how GPT sometimes just acknowledges the approval instead of executing the plan * Fixed a bug with cancellation of in-progress MCP OAuth authentication * Fixed a bug in tool schema generation for Antigravity for MCP tools * Fixed a bug where tool call rendering could break if the model specified certain combinations of invalid parameters * Hid the file content when a Write tool call fails so that the actual error isn't buried * Normalized `/mnt/` in builtin tools * Fixed grammar in the specialized Xcode tool call rendering * Fixed a bug where the model specifying a `head_limit` of `0` for `Grep` returned literally 0 results instead of unlimited * Fixed a bug where empty MCP tool call responses broke the chat * Fixed a bug where the chat view could crash if an MCP server's metadata is malformed * Fixed OAuth MCP token refreshing * Made MCP server name prefixing for tool disambiguation aware of Antigravity's 64-character tool name limit * Made hallucinated/malformed tool calls automatically denied * Made support for missing tool input more stable * Made support for tool calls without indexes more stable * Fixed a bug where tool calls would sometimes not be terminated when the generation failed **Terminal:** * Implemented another fix for the terminal garbling * Fixed terminal commands returning ASCII sequences to AI * Fixed a bug where terminal commands run by the AI could steal focus from the message input while you're typing * Made the integrated terminal background use `panel.background` when importing VS Code themes * Fixed additional bugs in the integrated terminal * Fixed overly eager terminal truncation on Windows * Fixed a bug with `cmd.exe` support that caused commands with double quotes to be improperly escaped * Fixed a Windows ANSI Line Feed Mode issue **Messaging/input:** * Fixed a bug where tab didn't work when you typed `/` and then focused a skill name * Fixed a bug where sending a message could hang in certain rare cases * Fixed a bug where accidental empty messages would break the Claude Code backend * Fixed a bug where transient disk errors on Windows could prevent sending a message using Claude Code * Made the message input regain focus after you send a message and after you change the enter/return key behavior or queuing type * Added support for Tab and Shift-Tab indentation in lists in the rich-text editor * Fixed new-line insertion with Enter/Shift-Enter in lists in the rich-text editor * Fixed list item ordinals with 3 digits being truncated * Fixed Home/End key behavior in filter/search dropdown inputs * Added prose spacing around markdown tables * Made the message input auto-focus when sending a new message * Fixed a bug where draft messages loaded after the main prompt * Disabled the input box while a chat is loading to prevent draft overwriting * Fixed nested backtick markdown rendering **Title & Tag Generation:** * Made the Add Tag button open a dialog for customizing the new tag * Fixed a bug where Pro-only tag-assignment instructions in the Title & Tag Generation system prompt weren't being preserved for Pro users **Interface:** * Fixed a bug where tooltips in the sidebar could flicker * Added a short delay before tooltips open **Database/performance:** * Fixed a common cause of "database is locked" * Fixed a "record not found" error that intermittently occurred when going to certain chats in new DBs * Optimized DB flushes during streaming * Optimized chat loading across projects * Optimized project loading across projects * Fixed a bug where successful HTTP requests weren't being stored temporarily at all, making support harder * Fixed a bug where certain operations could fail intermittently after the device lost all available space and then regained it **Stability:** * Fixed panics due to occasional improper string indexing * Fixed a panic when clicking certain links in the app ## Next up We’ve been hard at work on **backup and sync with Piebald Cloud**, and we’ll soon have it done. We’ve also been working on several other large features and a large internal refactoring that will open the door to many additional conveniences and features, and we hope to have several of these out in subsequent versions. In this release we've fixed a number of bugs and added some small features: * Added support for **viewing and redeeming ChatGPT/Codex rate limit resets** * Added an option to **configure the default path for new worktrees** * Enhanced **tool call rendering for Xcode MCP tool calls** * Added an option to **make the Enter key add a new line** instead of send the message and Cmd/Ctrl+Enter send the message * Add Git's `blame`, `shortlog`, `show-ref`, `for-each-ref`, `rev-list`, `name-rev`, `whatchanged`, and `stash list/show` subcommands to the auto-approval list * Added right-click options to create files and folders in the file sidebar * Added an `anchor_line` option to `EditFile` tool calls * Made eligible tool calls auto-approve when switching to a more permissive permission mode * Added a setting to re-enable the terminal-close notification * Added a setting to exclude certain files (e.g. hidden/temporary/system files) from the file browser * Added automatic refresh for the file browser when files in the project are changed on disk * Made the `SessionEnd` CC hook trigger when a chat is marked as Done or Abandoned * Fixed display names for Antigravity model listings * Fixed Openference support with a custom User-Agent header * Made disabling thinking work for Claude Code providers * Fixed an ugly error when creating a project and initializing a Git repo when `git` isn't installed * Hid the title regeneration button when there are no messages in the chat * Made viewing untracked files in the Git view not crash * Fixed the new-terminal button not being disabled for Basic users * Fixed a bug where random items would be pre-selected when @-mentioning files * Fixed a bug where Claude Code errored when used in a directory that didn't exist * Reduced frequency of MCP tool listings calls * Redacted images in the HTTP traffic viewer for Bedrock requests for UI performance * Fixed a bug where drafts could get cleared if chats haven't loaded yet * Fixed an ``unknown variant `fallback`, expected one of `text`, `tool_use`, `thinking` `` error that could occur with certain Anthropic-provider errors * Fixed multiple ``Failed to parse event: missing field `id` `` errors that could occur with with certain OpenAI-compatible providers * Fixed a bug where automatic tool call approval could sometimes break when a chat was compacted * Fixed occasional truncation and garbling of terminal command tools' output * Fix tool call approval for chats that have their message date and times messed up * Disabled the “Continue” button when there are pending tool calls * Fixed a rare data integrity issue * Made worktrees that are being deleted show as loading * Made unreadable (e.g. binary or missing) file @-mentioned surface as notes to the model * Made clicking notifications exit the full-screen terminal * Fixed a bug where clicking * Fixed the “Use” button on providers in the settings not response * Fixed a markdown rendering bug when escaping math * Fixed a markdown rendering bug with code blocks in list items * Made more safe `sed` invocations be auto-approved * Added settings to configure the line height of code and terminals * Fixed a bug where read tool calls would unnecessarily prompt for permission when the path was invalid * Fixed a bug where invocations of non-existent tool calls wouldn't be auto * Fixed a bug where maliciously crafted invocation of `sort`, `less`, and other commands could write files using `-o` * Fixed a bug where OpenAI cache-write usage wasn't preserved * Added support for the `max` reasoning level for GPT-5.6 models * Fixed a bug where todo-related MCP tools could accidentally pollute the current TODO display * Removed the MCP registry count scraping * Corrected spacing around punctuation in French UI translations * Enhance Claude Code provider internals * Surfaced provider errors on provider reload * Fixed display of provider errors in the provider card * Hid the pause widget for subagent chats when the parent chat is paused * Fixed a bug where one failed URL in a batch of parallel URL fetches could fail the whole batch * Set the thinking display to summarized instead of off for Sonnet 5 / Opus 4.7+ * Fixed a bug where deleting message containing a pending tool call would sometimes leave the chat status indicator status * Fixed a bug where markdown links to files on disk could be broken on Windows if they started with a drive letter * Filtered out binary files from file @-mention dropdown * Fixed a bug where file edits with `replace_all` set would unnecessarily fail if there was only 1 occurrence of the text to replace In Piebald v0.5.1, we've enhanced the Python environment picker UI and fixed several bugs: * Enhanced the Python envronment picker UI * Enhanced automatic read-only terminal command approval * Improved the jump-to-top / jump-to-bottom button hover effect * Made the "Add provider anyway" button work * Hid unnecessary error toasts for some new users * Made Xunfei errors clearer and more informative * Made GLM and DeepSeek "image unsupported" errors clearer and more informative * Tightened the file-mention chip height * Fixed intermittent errors with Edit tool call rendering * Added new chat/terminal buttons to the chat topbar for convenience * Fixed the chat topbar being draggable * Fixed notifications showing when a the pausing of a chat has completed * Normalized mixed-slash paths copied to the clipboard from tool calls * Fixed the chat message count being stale during generation * Fixed internal DB transaction performance to help resolve "database is locked" issues * Fixed autocompaction token usage detection * Fixed "Allowed Servers & Tools" section in the sidebar showing unchecked when some where checked * Fixed settings opened via Ctrl+Comma not remembering last settings tab opened * Fixed the goal icon positioning * Fixed handling of malformed tool calls from OpenAI-compatible servers causing chat to get confused * Made the parsing of SSE chunks from OpenAI-compatible chunks more robust against incompatibilies * Made MCP OAuth failures easier to diagnose In Piebald v0.5.0, we've added **enhanced error display**, **goals**, **Python environment support**, **attaching multiple images to feedback reports**, and many bug fixes! ## User-friendly rendering and automatic retry for common provider errors Server errors happen, and you shouldn't be forced see a raw error string with an HTTP status code and JSON. We now catch and handle many different types of errors that we've seen occur over hundreds of different providers all over the world, and display them as a friendly warning with advice on how to fix them. We also automatically retry on many more of them than we did before, so most intermittent errors like "overloaded", "internal server error", local network flukes, and temporary rate limiting, will be silently glossed over if possible so you won't suffer an interruption. You can still report any error—especially ones that you think look like bugs in Piebald—to us at any time. fable_5_unavailable.png ## Goals Inspired by Codex, we now support long-running goals. Goals force the model to continue working even when it tries to stop, and won't stop until the goal—a concrete, verifiable, user-defined objective—is marked as complete. Examples of good goals might be *“Migrate all router instances from React Router v5 to v6 in the /src/components directory.”* or *“Upgrade the project dependency 'lodash' to the latest stable version.”* ([OpenAI Developers Docs](https://developers.openai.com/cookbook/examples/codex/using_goals_in_codex)) ## Python environment detection (Pro) We now automatically detect common types of Python environments, such as built-in `venv` virtual environments, `conda` environments, and the newer `pixi` environments (see [GitHub](http://github.com/prefix-dev/pixi)), when you create a chat in a project that contains a configured Python environment. If we find multiple environments, we'll ask you to choose one and we'll save it as the default for all new chats in the project. When a Python environment is selected, all terminal commands that the AI runs wills have environment variables from the Python environment's initialization process injected into them. Commands that you manually run in the integrated terminal will as well. The environment variables are cached when you select the venv for the first time. ## Multiple images in feedback You can now attach multiple screenshots to feedback reports, if it helps you describe a bug or feature request: ## Other We've also added other smaller features and fixed many bugs: * Added support for the model setting a timeout on terminal commands * Added a "Regenerate title" action chats in the sidebar * Added the Desktop-style top bar with menu items and the Piebald version to web mode * Added auto-approval of read-only Windows Batch commands * Added Gemini 3.5 Flash to the Antigravity provider * Added a link to start a trial on Pro features * Added automatic retention for MCP server traffic logs to save disk space * Fixed a bug where the UI didn't proactively update when trials expire * Fixed the file browser button being broken for Basic users * Unified spinner styles across the app * Prevented a single broken message or tool call from breaking the entire chat * Made long MCP tool inspection popovers scrollable * Fixed skill header duplication in the slash-command dropdown menu * Set up automatic Piebald version bumping for our Homebrew tap * Fixed a bug where currently selected rate limit views were reset when switching chats * Improved the GitHub Enterprise Copilot signin experince * Fixed a bug when scrolling through a Monaco editor * Fixed bugs when scrolling in several dropdown menus nested in dialogs like Settings * Added debugging to unexpected Claude Code early exits * Attached debug info to Piebald authentication errors * Fixed some frontend performance issues * Fixed subagent chats sometimes becoming detached from the parent chat visually * Fixed a bug streaming text when new tool calls have been streaming * Fixed chat metadata alignment * Fixed more integrated terminal bugs In v0.4.4 we've fixed several bugs, especially around generations hanging and timing out: * Added per-SSE-chunk streaming timeout to detect stalled connections * Added a "Stream Idle Timeout" setting to detect and terminate idle HTTP streams * Improved internal HTTP request response body plumbing * Improved HTTP robustness and network error recovery * Added automatic retry for mid-stream network errors * Largely fixed text garbling and rendering issues in the integrated terminal * Fixed frequenty Claude Code PTY errors due to a short timeout * Updated fallback model list for Claude Code providers to include Opus 4.7 and 4.8 and Fable 5. * Fixed a bug where Ctrl+R in a terminal panel reloaded the window instead of triggering reverse-i-search * Hid incorrect timeout values accidentally displayed for terminal commands * Fixed parallel tool calls for Anthropic API key providers and Anthropic-compatible APIs * Improved error messages when Google OAuth refreshing fails * Fixed chat status/message count flicker * Changed keyboard shortcut for toggling the sidebar from Ctrl+Shift+S to Ctrl+B * Fixed `undefined is not an object (evaluating '$.initialized')` error sometimes occuring * Fixed a bug where approving a tool call when there are many parallel tool calls pending approval automatically scrolls down * Fixed the "esc" keyboard shortcut for cancellation not working sometimes * Updated color in the sidebar for chats pending tool approval * Fixed a intermittent "Line doesnt exist" error when using Pierre Diffs * Fixed the native OS file picker allowing any file type when attaching an image * Fully cancel Claude Code request when cancelling the current generation * Fix bugs when approving tool calls In this release we've fixed several bugs and added read-only detection and auto-approval for PowerShell commands. * Added read-only detection and auto-approval for PowerShell commands * Fixed a bug where the settings dialog was pinned at the General section when opened via Cmd/Ctrl + comma * Fixed a bug when copying chats with skill slash-command usage * Gave chat tag pills in the sidebar a little more padding * Fixed a bug where indented code blocks had leading whitespace trimmed * Fixed streaming of Mermaid diagrams * Added zoom controls to Mermaid diagrams * Enabled manual refreshing of ChatGPT/Codex subscription rate limit usage meter * Added tooltips to the new chat and new terminal buttons in the sidebar ## Piebald v0.4.2 In this release we've fixed several bugs: * Improved handling of skills with invalid names * Added the build date in About menu * Changed `TodoWrite` tool description to discourage usage for just chats and one-shot questions * Fixed a bug with regenerating a message in a paused chats * Fixed a bug with size of file mentions * Added support for Git Bash/mingw `/c/Users/...`-style paths in builtin Read/Write/Edit tools * Fixed overflow bugs in the create worktree dialog * Added the ability to collapse individual backlog sections on click * Fixed thinking support with Claude Opus 4.7/4.8 ## Piebald v0.4.1 In this release we've fixed a few bugs with our interactive Claude Code implementation and the new sidebar. ## Piebald v0.4.0 - refreshed sidebar, chat statuses, smooth streaming, images from MCP tool calls In this release we've **redesigned the sidebar**, added new **chat statuses**, **smooth streaming** configuration controls, and support for **MCP tools that return images**. ## New task-centric sidebar We've redesigned the sidebar to simplify managing chats in multiple projects at once. Only projects with active chats are displayed; other projects are hidden by default and can be accessed via the dropdown at the top of the sidebar. ## Explicit chat lifecycle management You can now explicitly mark chats as "Done" or "Abandoned", or move them to a per-project backlog. When you're done with a task, mark the chat as Done and it will disappear from the main sidebar, leaving only active tasks that you're working on in view. ## Smooth streaming (Pro) We've added a beautiful smooth streaming effect for generated text. Regardless of latency or spikes, generated text will appear character-by-character or word-by-word in a easing motion. Tool calls are also streamed in smoothly. You can also configure an optional blur or fade animation with a custom speed. Smooth streaming requires Piebald Pro. ## Support for MCP tool calls that return images Piebald now supports MCP tool calls that return images, so you can now use Figma, Playwright, Chrome DevTools, and other tools to take screenshots or gather design context. ## Enhanced tag support We now support project-specific tags in addition to existing global tags. We also support merging tags into each other; for example, if there are duplicates that both have chats. You can also now duplicate tags. ## Claude Code interactive To keep Claude Pro/Max usage in Piebald working, we now run Claude Code interactively in the background without relying on the Agent SDK or `claude -p`. The solves a number of bugs that have arisen in recent Claude Code versions, and it should also route usage to your main subscription usage instead of the Agent SDK bucket, per the June 15th Agent SDK/`-p` usage allocation changes. ## Other We've also fixed countless small bugs and added many small features. * Added support for duplicating tags. * Added support for merging one tag with another. * Added support for tags defined on specific projects. * Removed Piebald Pro gate from notification volume settings. * Added a feature to automatically format and syntax-highlight JSON MCP tool call bodies. * Added a feature to show the draft message for new untitled chats. * Updated all OAuth flows to use device code authentication under web mode. * Redesigned the About dialog. * Added option to hide unchanged lines in Git diffs. * Added an "Ignore" button to generation errors. * Changed default font size from 18px to 16px. * Added a button to toggle hidden files in the Code tab. * Enhanced slash command search to match items even when you've only partially typed their names. * Added an "Open Folder" item to the File menu. * Enhanced the "Launch in Terminal" MCP server debugging feature to launch in the Piebald integrated terminal instead of an external one. * Enhanced HTTP traffic viewer to automatically redact images to avoid duplicating large images. * Added a button to preview Markdown files from the Code section. * Added a dialog to confirm closing a terminal when it has a command running. * Localized "Untitled Chat" title. * Enhanced worktree creation functionality to use a dialog instead of a popover menu. * Enhanced markdown rendering to display unsupported HTML as text. * Fixed other bugs with model selection, auto-scroll, scrolling in diffs, Git worktrees, TLS error retrying, sign-in errors, integrated terminals, Anthropic-compatible APIs support, Claude Code support, `Grep` tool calls, reactions, Claude Code hooks, Markdown rendering, continuing, pausing, compaction, GitHub Copilot, subagents. ## Piebald v0.3.2 * Fixed command prompt window flashing on each hook invocation on Windows. * Fixed `"continue": false` not being respected for all hooks. * Fixed `additionalContext` in `SessionStart` hooks not being properly injected. * Added `--version`/`-V` flags to Piebald binaries. * Fixed a bug handling parallel tool calls in the Claude Code engine. * Added support for `.github/copilot-instructions.md`. ## Piebald v0.3.1 * Added support for NVIDIA Nemotron's flavor of the Responses API with `response.reasoning_part.added` & `response.reasoning_part.done`. * Made file edit diffs more compact. * Fixed a bug launching Claude Code in certain directories. * Fixed a bug when going from a subagent chat to the parent chat in some cases. * Fixed bugs in the file browser UI. * Fixed a bug where the last used of multiple terminals would be forgotten when switching away. * Fixed a bug where empty messages sometimes weren't filtered out after conversion to the OpenAI completions format. * Handled a bug with pasting images where the mime type as reported by the OS may be incorrect. ## Piebald v0.3.0 - Claude Code hooks & provider, chat sharing, usage/rate limit monitor, token count badge, Bedrock API keys We've added a **Claude Code provider** that avoids direct Anthropic OAuth login and uses Claude Code under the hood, as well as **support for Claude Code hooks**, **cloud chat sharing**, **Claude, ChatGPT, and Gemini subscription usage/rate limit monitoring**, **a token count badge**, and **Bedrock API keys**. ## Claude Code provider Our Claude provider now uses Claude Code under the hood, instead of calling the Claude.ai API directly. Since we're using Claude Code itself to make the requests, you can now be sure there's no risk of getting your Claude.ai account banned. (FWIW, we've never received a single report of an account ban due to use of Piebald.) By default, Piebald will use your existing Claude Code installation, if any, by searching for `claude` on your PATH. If you have Claude Code installed in an unusual location, however, you can specify the path to the `claude` binary manually in your Claude Pro/Max provider settings. And if you don't have Claude Code installed, you can use Piebald to install the latest version and keep it up-to-date automatically. ## Claude Code's hooks We've added support for Claude Code's hooks, so when you open a project that has a `.claude/hooks` and `.claude/settings.json`, the hooks will activate at the points you've configured. We currently support the following Claude Code hooks: `PostCompact`, `PostToolUse`, `PostToolUseFailure`, `PreCompact`, `PreToolUse`, `SessionStart`, `Stop`, `StopFailure`, `SubagentStart`, `SubagentStop`, `UserPromptSubmit`. We don't currently support the following hooks because they don't have direct equivalents in Piebald: `ConfigChange`, `CwdChanged`, `Elicitation`, `ElicitationResult`, `FileChanged`, `InstructionsLoaded`, `Notification`, `PermissionDenied`, `PermissionRequest`, `PostCompactResult`, `PostToolBatch`, `SessionEnd`, `Setup`, `TaskCompleted`, `TaskCreated`, `TeammateIdle`, `UserPromptExpansion`, `WorktreeCreate`, `WorktreeRemove`. However, please let us know if any these would be essential to you. ## Subscription usage limit monitor (Pro) & token count display We've added two widgets to the chat top bar that show the number of tokens that your current chat is using and your current subscription usage, if you're using a Claude Pro/Max subscription, ChatGPT subscription, or a Google AI subscription. ## Chat sharing (Pro) You can now share chats from Piebald! Click the ellipsis menu on a chat in the sidebar or chat titlebar and click **Share**. Just choose an expiration date and then copy the link and send it! Anyone with the link will be able to view the chat ([here's the chat in the video](https://app.piebald.ai/s/Ilx_sBYJoBNIQ0LMKlVeM?utm_source=0.3rn)). ## Passing a prompt from the command line You can now pass a prompt to Piebald from the command line with an argument (e.g. `piebald /code/myfolder "Explore this project"`) or with a command line flag (e.g. `piebald --prompt "Add tests"`). ## Bedrock API keys We now support Amazon Bedrock API keys. Go to **Settings → Providers → New Provider → Amazon Bedrock → API key** and paste your key. We support long-lived and short-lived keys. ## Other * Added French, Portuguese, Korean, Turkish, and Italian translations. * Removed Qwen.ai provider—[Alibaba have officially sunset the OAuth free tier](https://github.com/QwenLM/qwen-code/issues/3203). * Rebuilt the `AskUserQuestion` tool to support multiple questions in one call, optional descriptions for the answers, and optional previews. * Improved the web server token system so that you can open multiple tabs or windows of Piebald Web. * Added DuckDuckGo in addition to Exa as a search engine for the `WebSearch` tool. * Added a fourth plan approval option, **Approve and implement in new worktree**. * Changed wording of generation errors from "Error during generation" to "Generation error". * Emphasized preference for explicit user instruction in the `LaunchSubagent` tool description. * Added the ability to configure the profile used for subagents launched in a particular chat. * Added plan information to the window title on Linux like the custom titlebar on Windows and macOS. * Added support for line and column numbers to AI file mention detection. * Added web fetch and web search requests to HTTP traffic viewer. * Added functionality to automatically cancel all generations on signout. * Added functionality to automatically move down to the first diff in the selected file in the Git tab. * Enhanced the `WriteFile` tool to automatically create directory trees when they don't already exist. * Enhanced chat compaction to use a toast, not a dialog, to avoid blocking the whole app during compaction. * Enhanced title generation and compaction to strip thinking blocks if thinking is enabled on the respective built-in profiles. * Fixed Glama MCP count display. * Added handling for the `RECITATION` stop reason in Gemini providers. * Added handling for `response.failed`, `response.incomplete`, and `response.metadata` events in OpenAI providers with Response API. * Enhanced `RunTerminalCommand` tool calls to return the first and last 10k characters instead of the first 20k. * Made tool calls full width by default. * Fixed a bug where DeepSeek reasoning wasn't passed back to their API, breaking DeepSeek v4 tool calling support. * Added a feature to display Appeal and Verify links that are sometimes returned with Gemini/Antigravity error. * Enhanced the `Grep` built-in tool to work with multiple space-separated search dirs (e.g. `backend/src frontend/src`). * Fixed a bug where long provider names would overflow the provider card. * Added automatic retry for intermittent client connection errors. * Added functionality to automatically detect the name and command line of the currently executing process in a particular terminal and display them as the chat title and description. * Made `RunTerminalCommand` tool calls automatically collapsed. * Fixed a bug where codeblocks in admonitions weren't displayed properly. * Improved handling of MCP servers that don't support CIMD or DCR. * Enhanced error display for errors from APIs that use QuantumNous's NewAPI product. * Fixed bugs with our OpenRouter Responses support. * Fixed a bug where pressing Esc to close dialogs also stopped generation. * Removed toast that appears when modifying settings in the chat generation config sidebar. * Made tool call output truncation during chat compaction much more aggresive. * Improved MCP server OAuth signin to use our hosted redirect URL (piebald.ai/desktop/redirect) for all MCP servers. ## Piebald v0.2.7 - bug fixes * Piebald is now built on Linux ARM64 in addition to x64. * Added support for Claude Opus 4.7. * Fixed Qwen.ai OAuth tokens automatic refreshing. * Fixed a bug where Claude via Antigravity couldn't call MCP tools without arguments. * Fix latest Antigravity version detection. * Updated Antigravity `claude-sonnet-4-6-thinking` to `claude-sonnet-4-6`. * Redesigned the UI of the Code tab in the project sidebar slightly. * Handle incompatibilities with OpenAI-"compatible" providers. * Fixed error finish reason handling for OpenRouter response with upstream errors. * Fixed a bug where @-mentions failed entirely when canonicalization of individual paths failed. ## Piebald v0.2.6 - bug fixes * Fixed more chat crashing errors. * Fixed "missing thinking" and "missing signature" errors with custom Anthropic providers. * Fully updated Antigravity version. * Fixed Antigravity error display. * Added a confirmation dialog before disabling telemetry or error reporting. * Added `/bug` slash command alias for opening the feedback submission dialog. * Changed dialog overlay effect. * Fixed provider selection bugs that occur after deleting a provider used by existing chats. ## Piebald v0.2.5 - default permission mode and bug fixes In this release, we've added a feature for setting a default permission mode that new chats will use. We've also fixed several bugs. * Added the ability to customize default permission mode used for new chats and renamed "Default" to "Read-only". * Added Ctrl+-, Ctrl+=, and Ctrl+0 to control font size zoom. * Added buttons to copy tool input and output . * Added execution time to tool calls. * Made the Chats, Terminals, and Code tab headers sticky so that they stay in view while scrolling the sidebar. * Fixed a bug where branch tabs would overflow off the screen. * Fixed a bug where skill slash commands weren't recognized after being pasted. * Fixed a bug where creating a chat after deleting the last used provider would throw errors. * Fixed a bug where non-image files (files not ending with .png, .jpg, .jpeg, .webp, or .gif) could be attached with the "Attach image" button. * Fixed a bug where deleting a chat would switch you to another project. * Improved error messages when MCP servers fail to start. * Fixed the "Use" and "Start using" buttons when no project was active. * Fixed a bug where the app would crash due to minor issues in our OpenAI Responses API support. * Fixed title generation with ChatGPT providers. * Fixed chat crashing errors. * Implemented fixes for "Invalid request data" error when using Claude Max subscription. * Implemented fixes for Gemini Code Assist support to reduce access suspension risk. ## Piebald v0.2.4 - bug fixes * Fixed context notifications not showing on new messages. * Added the number of chats in the worktree to the delete worktree dialog. * Updated auto-approval rules to include all read-only tool calls, including those operating outside the current project's directory. * Fixed Qwen.ai OAuth support by adding an empty system prompt when no system prompt is defined * Added prompt caching support to Qwen.ai OAuth providers. * Fixed Qwen.ai OAuth re-authentication and access token refreshing. * Fixed automatic title generation being blocking until multi-step generation are finished. * Fixed a bug where the sidebar would incorrectly mark chats as having draft prompts * Added pre-validation to tool calls, so that obvious errors (e.g. an Edit tool call with `oldString` identical to `newString`) are auto-approved and fail instead of requiring manual approval. * Fixed a bug where deleting the current chat's provider shows noisy errors. * Fixed animation bug with the minimized feedback dialog. * Added a setting (on by default) to expand tool calls, resulting in reduced flickering * Added buttons alongside the jump-to-top and jump-to-bottom buttons for jumping up and down through messages. * Fixed a bug with automatic empty chat cleanup. * Fixed a bug when listing built-in slash commands. * Made Glob/Grep tools properly respect `.gitignore`. * Fixed a bug wher subagent chats weren't being trashed along with the parent chat. ## Piebald v0.2.3 - remote MCP headers, manual MCP OAuth configuration, and background color customization We've added remote MCP headers and manual OAuth configuration (client ID, client secret, and callback port, like Claude Code), background color customization, and a few other small features and bug fixes. ## Manual MCP header and OAuth configuration Some remote MCP servers, like [GitHub's](https://github.com/github/github-mcp-server), recommend using headers like the `Authentication: Bearer ...` to authenticate the server. Others, like [Slack's](https://docs.slack.dev/ai/slack-mcp-server/), require users to manually input a client ID, client secret, and callback port (authentication parameters that are required for a complete OAuth login process). Piebald now supports both remote MCP headers and manually inputting client ID, client secret, and callback port: remote_mcp_headers_oauth_cfg.png ## Background color customization You can now customize the background color of the entire interface for light mode and dark mode. Go to **Settings → Appearance** and change the **Background Color** settings: ## Other * Automatically minimize the feedback dialog when you click Submit. * Added a new button to delete all trashed chats in a project. * Changed the color for the AGENTS.md or CLAUDE.md context notification from red to blue to avoid it looking like an error. * Added a copy button to file paths displayed in file read, write and edit tool calls. * Added a button on toast notifications to close them. * Fixed Qwen OAuth provider token refreshing. * Fixed "bad request" error when using Qwen.ai OAuth. * Fixed a bug when deleting worktrees. * Cleaned terminal output of ANSI escape sequences before giving it to the model. * Fixed a bug when a project that was a Git repo is no longer a Git repo. * Made chats with stale "Pending your approval" status be automatically corrected. ## Piebald v0.2.2 - more bug fixes Another release with lots more bug fixes: * Added **Help → Check for Updates** menu * Added setting **Chat Interface → Auto-scroll During Streaming** * Fixed trashed subagent chats remaining in sidebar * Fixed Ctrl+S and Cmd+S save shortcut in file editor * Fixed handling of missing `choices` field in streaming error responses * Added fold and unfold for unchanged diff regions * Added support for loading skills from Claude Code plugins * Fixed file clicking when terminal is fullscreen * Fixed OpenAI handling of responses with blank token values * Added a button to provider cards to make it easy to start using that provider * Limited Git status items to 10k to keep the app from freezing * Added a button to queued messages for sending immediately * Correctly set chat status to Idle when a tool call is interrupted * Fixed AI file mentions in markdown lists * Added automatic exponential backoff and retry. Useful for providers with aggressive short-lived usage limits like Qwen and intermittent errors * Clicking on projects that have multiple worktrees, all of which except the root worktree are inactive, will now take you directly into the root worktree, instead of taking you to the worktree listing view. If you want to go to the worktree listing view, you can use the new "View Worktrees" menu item in the * Removed the warning that mentions Piebald v0.1.19 from provider cards * Fixed a bug that occurs when reloading with empty chats * Fixed a bug with the builtin `WebFetch` tool where fetching large web pages would crash the app * Fixed synchronization of the select boxes under the message input and the select boxes in the Chat Settings sidebar # Piebald v0.2.1 - Bug fixes We're still working on features for subsequent releases, but this is a bug-fixes-only release. * Made our Copilot support dynamically use completions/responses/messages API * Made our Copilot support correctly list all available models * Implemented several internal performance improvements * Increased default MCP tool call timeout from 30s to 60s and made it configurabled * Fixed a language glitch when reloading the app the app language customized * Fixed bash `find -exec` comands incorrectly being auto-approved * Added a `PIEBALD_DISABLE_ERROR_REPORTING` environment variable * Added `~/.claude/commands` (old-style pre-skills Claude Code custom slash commands) and derivative `./.agents/commands` directories to skill search path * Fixed backticks being included when copying portions of code blocks * Made Glob/Grep tool calls cancelable * Fixed regenerated and subsequent messages not displaying * Fixed Zapier link * Fixed Glama scrape count * Added Ctrl+C, Ctrl+V, Ctrl+Shift+C, and Ctrl+Shift+V keyboard shortcuts for copying from and pasting into the terminal * Disable compaction actions when the current chat is empty * Show the jump-to-top/-bottom buttons during scrolling * Corrected AGENTS.md context notification name in some cases * Fix a sign-in error * Fix a regex error in some browsers * Fix a bug when deleting worktrees * Show the Qwen model name instead of "coder-model" * Fix a crash when using Qwen providers * Sanitize unusual enums from MCP tool schemas for Gemini * Fix compaction provider/model being hidden when auto-compact is disabled ## Piebald v0.2.0 - Integrated file browser, Git diff browser and terminal, Git worktrees, Qwen support, remote MCP servers, localization, message queuing, skills as slash commands, and interruptible tool calls In Piebald v0.2.0 we've added an **integrated file browser, code editor, and integrated terminal**, and added support for **worktrees**, **skills as slash commands**, **message queuing**, **Qwen OAuth support**, **localization**, and **remote/HTTP MCP servers**! ## Integrated file browser, Git viewer, and code editor (Pro) The sidebar in Piebald is now project-oriented instead of just chat-oriented, with each project getting its own randomly-generated colored avatar for easier identification, and a search box to filter projects and worktrees by name. This allows us to include an integrated file browser, Git viewer, and code editor, as well as an integrated terminal! ## Integrated terminal (Pro) In addition to the file browser, Git viewer, and code editor, we've added an integrated terminal feature that you can use to run commands in the project directory. ## Git worktrees (Pro) We now support creating and using Git worktrees within a project! You can create chats in specific worktrees, view/edit files, and run terminal commands in them. ## Skills as slash commands Skills can now be invoked as slash commands in the chat input. All local skills in `.agents/skills` and global skills in `$HOME/.agents/skills` that are automatically loaded into new chats will also be available via `/`. ## Message queuing (Pro) When you want to send a message while a previous one is still generating a response, you can now choose to interrupt it or queue it in two different modes: send right away, and follow-up. * "Send right away" will not interrupt the current generation but rather send the message as soon as the current message is done being generated, before the model has the opportunity to respond to tool call output. * "Follow-up" will queue the message to be sent after the current task is complete, including all tool calls. ## Qwen OAuth support You can now log in with your Qwen.ai account via OAuth, similar to Qwen Code. The free tier includes 1,000 requests per day. qwen_login.png ## Localization We've translated the UI into 4 languages: Chinese (Simplified), German, Russian, and Spanish. You can change the language in Settings → Language. ## Remote/HTTP MCP servers We now support remote HTTP MCP servers! To add an HTTP MCP server, go to Settings → MCP Servers → Add → Add Server, select "HTTP" as the transport type, and enter the URL of the server. ## Tool calls are now interruptible You can now interrupt tool calls at any time, via `esc` or by clicking the interrupt button in the chat input box or on an individual tool call. ## Other * We added a quick start section that you can use to quickly sign in to a supported OAuth provider or paste an API key * Many more read-only bash commands are now auto-approved * When a chat is automatically-compacted, generation is automatically resumed in the new chat * We've added new buttons to jump to the top and bottom of the chat * We've added a new setting to automatically append the duration of a terminal command/sub agent to the tool's output * We've fixed support for customizing the system prompt when using OpenAI Responses API providers * Subagents are now automatically approved * You can now toggle word wrap for diff views * We've updated the title generation prompt to make titles shorter and more helpful * Title generation can now be postponed by the model if the conversation is not yet ready for a title * Subagents will no longer send notifications when they're complete * The `WebFetch` tool is now much faster and more accurate We also fixed a number of bugs around authentication, editing profiles, message interruption, plan approval, provider icons, tool call status, regeneration, responsiveness, and much more. ## Next We're working on hooks, first-class support for many more providers, accurate token usage metrics, context editing, syncing & storage with Piebald Cloud, and subscription provider rate limit monitoring. We're also planning to soon work on worktree creation scripts, integrated LSP support, importing chats from Claude Code, OpenCode, etc., a stats page, and more. ## Piebald v0.1.22 - VS Code theme importing for code blocks and 'Esc' to interupt generation In this release, we've added VS Code theme importing for code blocks, branch renaming, and numerous UI improvements and bug fixes. ## VS Code theme importing for code blocks (Pro) If you're on Piebald Pro, you can now import any theme from VS Code to use for code block syntax highlighting. 1. In VS Code, open the command palette via Cmd/Ctrl + Shift + P 2. Choose **Developer: Generate Color Theme From Current Settings**. 3. Copy the resulting JSON 4. In Piebald, go to **Settings → Appearance** and scroll down to **Code Block Themes** 5. Click **Import VS Code Theme** 6. Paste the JSON, name the theme, choose whether it's light or dark, and click **Import** 7. Select your theme from the **Light Mode** or **Dark Mode** select boxes ## Branch renaming (Pro) You can now rename branches to more descriptive names than the default "Branch 1", "Branch 2", etc. Hover over the branch name and click "Rename" ## Text selection uses accent color The background color for text selection is now overridden by your customizable accent color: Screenshot of the text being highlighted in the accent color ## Hit 'Esc' to interrupt generation In addition to clicking the red stop button in the input box, you can now hit the Esc key while a message is being generated to interrupt it: ## Other We've also polished the UI and fixed many bugs: * "Generating..." will now be shown while titles are generating, for clarity. * There's a new "Refresh now" link in OAuth providers in the settings if you need to refresh the OAuth tokens now. * The `/compact` slash command can now take custom instructions, bypassing the confirmation dialog. * OAuth errors like expired/invalid tokens will have a "Re-authenticate" button inline for easy refreshing. * We updated the icons for providers and provider creation methods. * There's a new "Question" type of feedback report. * The chat count is now shown for folders in compact mode. * Subagent runs and terminal commands now have run duration appended to the output, configurable via a setting. * Thinking blocks can be configured to be automatically collapsed when they're done generating. * The `RunTerminalCommand` builtin tool's description is dynamically updated to include the type of shell you've configured. * "Overloaded" and "Internal server error" errors are now elaborated with more explanation. * Chats in the sidebar are grayed out when empty to indicate that leaving them will auto-delete them. And we fixed bugs with MiniMax in OpenRouter, missing stop reason for Anthropic, terminal auto-scrolling, `Search` tool output & format, context notifications, subagent status, OAuth refreshing, toast notifications, long chat names, and `localStorage` usage. ## Piebald v0.1.21 - Web mode, accent color customization, tool call re-execution (Pro) and slash commands ## Web mode You can now use Piebald in your browser instead of your desktop. If you're familiar with Jupyter notebooks, the process is similar—run `piebald-web`/`piebald-web.exe` in the terminal and then go to [http://localhost:7000](http://localhost:7000). If you'd like to use a different port, set `PIEBALD_WEB_PORT` to any valid port number that's not already in use and re-run `piebald-web`. This is especially useful on Linux where Tauri apps may not perform well in some desktop environments.