# Product updates
Source: https://docs.tempo.new/changelog
New features, improvements, and fixes in the Tempo desktop app.
Every stable Tempo release is listed here, newest first. These are the same notes you see in the **What's new** dialog after the app updates. Filter by product area in the right sidebar.
On the Insiders channel? See [Insiders updates](/changelog/insiders) for per-build notes that ship ahead of stable.
**Tempo adds a ChatGPT sidebar and GitHub-backed cloud canvases.**
### New
* New Tempo ChatGPT sidebar with GitHub-backed cloud canvases.
* Open canvases side-by-side with the active chat.
### Improved
* Plugin sidebar now has the left-panel toggle and matching avatar.
* Branch selection is keyboard accessible and shows a loading state.
### Fixed
* Agent run cards now appear promptly in AI chat.
* Archived workspaces are restored for follow-ups and no longer auto-archive with queued messages.
* Fixed MCP repository discovery and organization selection in the guide.
* Branch presence in issues is now scoped to linked branches.
* Canvases load workspace credentials correctly for SDK updates.
* Startup failures are preserved during warm launches.
This release centers on bringing Tempo closer to where you already work. A new **ChatGPT sidebar** puts Tempo alongside your chat, and **GitHub-backed cloud canvases** let your canvas work live where your code does.
Canvases are now easier to use day-to-day: you can **open a canvas beside the active chat**, and the plugin sidebar picks up the app header's left-panel toggle and avatar for a more consistent layout.
We also fixed a batch of workflow issues. **Agent run cards** now show up promptly, archived workspaces are restored for follow-ups instead of auto-archiving with queued messages, and branch selection is now keyboard accessible with a clear loading state. Rounding things out are fixes to MCP repository discovery, issue branch presence, canvas credential loading, and startup error reporting during warm launches.
**Faster Codex responses with the new subscription-gated Ultrafast speed.**
### New
* New subscription-gated Codex Ultrafast speed for quicker responses.
* AI tool writes now show as "\'s Claude Agent" in comments and issue activity.
### Improved
* Equal-width tabs for easier bulk close, plus the Home tab can now be closed.
* Faster, more reliable workspace startup.
### Fixed
* Chat shows "Awaiting Response" while a Codex async question waits.
* Chat shows a Reauth banner when your OAuth session expires.
* Same-org doc and issue links now open in Tempo on a plain click.
* Claude HIPAA compatibility is now remembered per connection.
* Scheduled agent runs missed while your machine was off now catch up.
* Opening a doc no longer switches you to a different chat.
* Archiving a workspace now always succeeds.
* Background-work indicator stays visible on unread sidebar rows.
* More stable file watching on macOS.
This release centers on **Chat and Agents**. You can now opt into the new **Codex Ultrafast** speed on a paid plan for quicker responses, and AI tool writes are clearly attributed as "\'s Claude Agent" in comments and issue activity. Several chat reliability fixes land too: Codex async questions now show an "Awaiting Response" state, expired OAuth sessions surface a Reauth banner, same-org doc and issue links open directly in Tempo on a plain click, and Claude HIPAA compatibility is remembered per connection.
On the **Agents** side, scheduled runs that were missed while your machine was off now catch up instead of being skipped.
**Workspaces** get smoother day-to-day handling: tabs are now equal-width for easier bulk close and the Home tab can be closed, opening a doc no longer yanks you into a different chat, and archiving a workspace always succeeds.
Under **Platform**, workspace startup is faster and more predictable, file watching on macOS is more stable, and the background-work indicator now stays visible on unread sidebar rows.
**Sonnet 5.5 is now available in the AI chat model selector.**
### New
* Added Sonnet 5.5 to the AI chat model selector.
### Fixed
* Fixed canvas crashes that could happen during chat draft resets.
* Fixed stale component property reads when a canvas selection changed.
This release brings **Sonnet 5.5** to the AI chat model selector, so you can pick it alongside the other available models when starting or continuing a conversation.
We also fixed a couple of canvas stability issues. Resetting a chat draft no longer crashes the canvas, and selected components now read their latest properties instead of occasionally showing stale values.
**New AI models and connectors land in chat, alongside canvas and performance fixes.**
### New
* Added GPT-6.1 Sol (Codex 0.159.0) as a chat model.
* Added a bundled Cursor CLI connector.
* Added a Grok Build connector.
### Improved
* Browser tab pages now keep running when you switch workspaces or chats.
* Bug reports now capture prop-type lookups and TypeScript server details.
* Faster app performance from an upgraded build toolchain.
### Fixed
* Canvas now keeps tabs and viewport after moving folders.
* Reopening large chats now has enough time to load and reports the real error when it fails.
This release expands the AI options in chat. **GPT-6.1 Sol** (running Codex 0.159.0) joins the model list, and two new connectors ship out of the box: a bundled **Cursor CLI** connector and a **Grok Build** connector.
Browser tabs are more reliable too — pages now keep running when you move between workspaces or chats, so you don't lose state mid-task. Reopening large chats is more forgiving, with more time to load and clearer error messages when something does go wrong.
On the Canvas side, tabs and viewport position are preserved after you move folders. Under the hood, an upgraded build toolchain makes the app noticeably faster, and bug reports now include richer diagnostics to speed up support.
**Add Figma-style token libraries with source editing to the style panel.**
### New
* Style panel now supports Figma-style token libraries and editing token sources.
* Visual review adds a light mode with a theme toggle that remembers your choice.
### Improved
* Faster, more reliable startup with bounded workspace fetches and persisted diagnostics.
### Fixed
* Inserted asset components now stay components, and shipped builds show full prop types.
* Clearer canvas setup, plus recovery of existing project canvases.
This release centers on the canvas style workflow. You can now create and manage **Figma-style token libraries** and edit token sources directly, making it easier to keep colors, spacing, and other design values consistent across your work.
Visual review gains a **light mode** with a theme toggle that persists between sessions, so you can pick the view that works best for you. On the canvas, inserted assets now reliably stay as components, shipped builds surface full prop types, and existing project canvases can be recovered when setup goes wrong.
Startup is also more dependable: workspace fetches are now bounded and diagnostics are persisted, reducing hangs and making issues easier to trace.
**The Canvas tab is now called Design, alongside new chat model preferences and many canvas fixes.**
### New
* Renamed the Canvas tab to Design.
* Set a default model and effort level for chat.
### Improved
* Side chat can now use the full width of wider screens.
* Inline chat cards stay readable at narrow panel widths.
* Personal skill shortcuts now match exact names first.
* Project scripts in settings are grouped by scope.
### Fixed
* Props panel shows live values for code-controlled props.
* Sidebar selection is preserved when switching workspace tabs.
* Failed capture windows recover and expired screenshots are canceled.
* Install connectivity errors and crash diagnostics now surface on the canvas.
* The TypeScript server starts in packaged builds and reports failures on the canvas.
* Command cards no longer show Windows shell wrappers.
* Detached canvas state is isolated per workspace.
The **Canvas** tab is now **Design**, matching how teams actually use it. You can also set a **default model and effort level** for chat, so new conversations start the way you prefer.
Chat gets more usable at smaller sizes: side chat now stretches across wider screens, inline cards stay readable in narrow panels, and personal skill shortcuts match exact names first. Command cards also stop showing noisy Windows shell wrappers.
This release includes a large batch of **canvas reliability fixes**. The props panel shows live values for code-controlled props, sidebar selection survives workspace tab switches, failed captures recover cleanly, and install and crash errors now surface directly on the canvas. Packaged builds correctly start the TypeScript server and report its failures, and detached canvas state is properly isolated per workspace.
**Canvas Files now share the same browser as your workspace files.**
### Improved
* Canvas Files are unified with the workspace file browser for one consistent view.
* Visual review now remembers your view settings when switching storyboards.
* Removed the Home page to streamline navigation.
### Fixed
* Copying Markdown from chat no longer carries over theme colors.
* Desktop builds now include TypeScript and prop-types support for richer code intelligence.
The main change in this release brings **Canvas Files** in line with the rest of Tempo: files on the canvas now use the same browser as your workspace, so you get one consistent place to find and manage everything.
Design review also got smoother. **Visual review** now persists your view settings as you move between storyboards, so you don't have to reset your preferences every time.
We also cleaned up a few rough edges. Copying Markdown out of **Chat** no longer drags along theme colors, the **Home page** has been removed to simplify navigation, and packaged **desktop** builds now ship the TypeScript language server and prop-types plugin for better in-app code intelligence.
**Unified tabs across views with detachable windows, plus personal skills in chat.**
### New
* Add personal skills across all Tempo chat providers.
* Unify tabs across views and open detachable windows.
* Add native SVG gradient fills on canvas.
* Add component prop controls and insertable asset variants.
* Support component-file and shared Tempo controls with clear authoring defaults.
* Connect via MCP with sign-in on first use.
* Show original snapshots for outdated visual review comments.
### Improved
* Free inference now runs on GPT-6 Luna.
* Replace the empty agents view with an agent briefing.
* Explain offline agent queues and let you cancel pending runs.
* Show message timestamps beside actions on hover in chat.
### Fixed
* Fix web onboarding and first-open recovery for shared canvases.
* Open canvases in the correct branch workspace.
* Make selected slash commands removable and keep command chips inline.
* Extract PDF text from GLM attachments in chat.
* Validate image support before sending in chat.
* Keep OpenCode reasoning out of reply text.
* Keep the share popover progress bar inside its container.
* Keep visual review pagination controls stationary and autofocus new comments.
This release brings two big workflow changes. Tabs are now unified across every view, and you can pull any tab into its own detachable window to spread work across screens. Chat also gains **personal skills**, available across all Tempo chat providers.
The canvas picks up native SVG gradient fills, component prop controls, insertable asset variants, and clearer authoring defaults for component-file and shared Tempo controls. Free chat inference now runs on GPT-6 Luna.
Agents get friendlier: the empty "nothing running" screen is replaced with an agent briefing, offline queues are explained, and you can cancel pending runs. We also fixed shared-canvas onboarding and first-open recovery, branch workspace routing, several chat attachment and command issues, and a handful of share and visual review UI glitches.
**Smoother agent setup with an updated Codex CLI and automatic folder-access trust.**
### Improved
* Updated the bundled Codex CLI to v0.156.0.
### Fixed
* Agents now auto-trust the Codex folder-access prompt, avoiding an extra confirmation step.
* Your settings are now kept after creating a promo code.
This release focuses on the agent experience. Tempo now ships with **Codex CLI v0.156.0**, and we've smoothed out setup by automatically trusting the new folder-access menu so you no longer have to confirm it manually.
On the account side, creating a promo code no longer resets your settings, so your preferences stay intact.
**New GPT-6 (Luna and Sol) and Opus 5.5 models are now available in chat.**
### New
* Added GPT-6 Luna and Sol models, with free inference still available.
* Added support for the Opus 5.5 model.
* Variables are now enabled in production canvas builds.
* Generate a live product-flow canvas with a new command.
### Fixed
* The Share popover now scopes to the surface you actually clicked.
* Canvas error overlays now clear correctly after recovery.
* Canvas dependency preparation no longer trips on type-only imports.
This release expands model options across chat. **GPT-6 Luna** and **GPT-6 Sol** join the lineup, and free inference remains available. We've also added support for **Opus 5.5**, so you can pick the model that best fits each task.
On the canvas side, **Variables** are now enabled in production builds, and a new command lets you generate a live product-flow canvas directly. We also fixed error overlays lingering after recovery and resolved a dependency-preparation issue caused by type-only imports.
Sharing is more precise too: the Share popover now scopes to the exact surface you clicked, avoiding confusion when multiple surfaces overlap.
**Added Grok 4.7 to AI chat alongside canvas editing and light-mode readability improvements.**
### New
* Added Grok 4.7 to the available AI chat models.
* Added Grok 4.6 to the OpenCode models.
* Rectangle corner radius is now editable on the canvas.
### Improved
* Better light-mode readability across editors, terminals, and the layers panel.
* Slack triage now reads PDF, Markdown, large, and scanned PRD attachments.
* Bug reports now include the focused chat session for faster diagnostics.
* Refreshed bundled Claude, Codex, and OpenCode AI tools.
### Fixed
* Gradient stop colors can now be edited directly on click in the style panel.
* Canvas view is preserved when toggling sidebars.
* Icon search now keeps focus in context menus.
* Queued background agent runs now start as expected.
* Archived chats stay archived.
* Fresh Claude startup now retries after silent failures.
* AI-mode Apply sessions are now isolated to prevent cross-session mixups.
* Tempo stays running through transient network errors.
* Dev server now recovers from interrupted dependency installs.
This release expands model choice with **Grok 4.7** in AI chat and **Grok 4.6** in OpenCode, plus a refresh of the bundled Claude, Codex, and OpenCode tooling.
On the **canvas**, you can now edit rectangle corner radius directly, gradient stop colors are editable on click, and your view is preserved when toggling sidebars. Light-mode readability is noticeably better across editors, terminals, and the layers panel.
**Agents and chat** get several reliability fixes: queued background runs now start correctly, archived chats stay archived, fresh Claude startups retry after silent failures, and Apply sessions are properly isolated. Slack triage can now read PDF, Markdown, large, and scanned PRD attachments.
On the platform side, Tempo stays alive through transient network errors, the dev server recovers from interrupted dependency installs, and bug reports now capture the focused chat session for easier troubleshooting.
**This release sharpens the canvas with a pixel grid, better zoom precision, and error recovery.**
### New
* Canvas now shows a pixel grid at 400% zoom.
* Bug reports now include process memory attribution.
### Improved
* Shared storyboard images load before HTML for faster previews.
* Chat composer toolbar now collapses one control at a time when space is tight.
* Visual review supports mobile layouts and captures viewports.
### Fixed
* Canvas recovers storyboards after render errors instead of losing them.
* AI mode drafts keep their identity and text on the canvas.
* Selection outlines and drop outlines stay aligned and thin at high zoom.
* Active text selection now takes priority through overlapping elements.
* Side handles preserve aspect ratio when holding Shift.
* Drawn SVG overflow stays visible on the canvas.
* Style panel restores parent flow for Fill sizing.
* Chat viewport stays pinned after small content growth.
* Codex commands now display cleanly in chat.
* Chat input overflow controls stay in sync.
* Visual review approvals are isolated per pull request.
* Removed stray preview corner halos in visual review.
* Workspace deletion is guarded and audit logs now persist.
This release is mostly about the **canvas**. A new pixel grid appears at 400% zoom, and high-zoom work feels tighter: selection and drop outlines align correctly, active text selection wins through overlapping elements, and side handles keep aspect ratio when you hold Shift. Rendering is more resilient too — storyboards recover after canvas errors, AI mode drafts keep their identity and text, and drawn SVG overflow stays visible.
**Chat** gets steadier as well. The composer toolbar now collapses one control at a time when space runs low, overflow controls stay in sync, the viewport stays pinned after small content growth, and Codex commands render cleanly.
On the **platform** side, shared storyboards load images before HTML for quicker previews, bug reports now include process memory attribution, and visual review handles mobile layouts with per-pull-request approvals. Workspace deletion is now guarded with persistent audit logs.
**Canvas gets a reliable, explicit AI mode plus persistent layer locking.**
### New
* Canvas AI mode is now explicit and draft application is reliable.
* Lock layers on the canvas and have them stay locked.
* Chat transcripts now show responsive message timestamps.
### Improved
* Faster share navigation and creation on the canvas.
* JetBrains Mono is now consistent across Tempo.
* Font menu previews no longer clash with your project's own fonts, which are tagged in the picker.
* New Claude users now default to Opus 5.
### Fixed
* Sharing now stops cleanly when a commit fails instead of leaving a broken share.
* Editing inline text no longer breaks canvas navigation or sibling markup.
* New views stay selectable after leaving Interact mode.
* Pan and zoom now work over component interact iframes in packaged builds.
* Selection passes through empty toast containers instead of getting stuck.
* Storyboard captures recover after eviction and stale errors are cleared.
* Visual review no longer loops on sign-in when approving and shows remaining render errors.
* Chat no longer loops trying to resume dead or relocated sessions.
* Funding errors in AI chat now include a Codex login prompt.
* Workspace titles are preserved and noisy background naming failures are silenced.
* Windows desktop builds now ship complete npm and native Node.
This release centers on the **canvas**. AI mode is now explicit, so you always know when you're working with AI, and draft changes apply reliably. You can also lock layers persistently so they stay put while you work around them.
A lot of canvas rough edges are smoothed over: inline text editing no longer disrupts navigation or nearby markup, new views stay selectable after Interact mode, selection passes through empty toast containers, and pan/zoom works over component iframes in packaged builds. Storyboard screenshots recover better after eviction, and visual review stops looping on sign-in when you approve.
**Chat** gets responsive timestamps in the transcript and stops looping when trying to resume dead or relocated sessions, with a clearer Codex login prompt on funding errors.
On the **platform** side, sharing now stops cleanly when a commit fails, share navigation and creation are faster, fonts are more consistent across the app, and Windows desktop builds ship complete.
**Visual Review arrives with guided onboarding, a CLI, and PR diff reviews on the canvas.**
### New
* Visual Review: onboarding flow, doctor/init setup, and a publishable CLI.
* Visual Review links PRs and surfaces visual diffs, including tiny changes.
* Font picker now includes Google Fonts with an AI-assisted install handoff.
* Canvas supports dropping multiple HTML files at once.
* Chat supports secondary tabs inside a root chat's tab set.
* Codex adds the GPT-6 Astra model and a max-effort setting.
### Improved
* Projection now renders live canvas pixels on demand for smoother previews.
* Visual Review adds green diff highlights and single-shot changed cards.
### Fixed
* Space+drag on a storyboard header now pans the canvas instead of moving the board.
* Storyboard captures show from cache while the dev server boots.
* Canvas setup now works for empty projects.
* Chat app-exit notice is now dismissable and no longer double-renders images on reload.
* System prompt is frozen per provider session, preserving Fable's thinking.
* Canvas host install failures now keep the real error on screen.
* Two canvases on one host no longer deadlock projection startup.
* Windows-on-ARM is now correctly detected under x64 emulation.
**Visual Review** is the headline of this release. There's a guided onboarding flow with `doctor` and `init` setup steps, a publishable `@tempo-ai/visual-review` CLI, and the ability to link pull requests and surface visual diffs — including small changes — directly against your canvas. Green diff highlights and single-shot changed cards make it easier to see exactly what moved.
The **canvas** picks up several usability wins: multi-file HTML drops, Google Fonts in the font picker with an AI-assisted install handoff, and on-demand live pixel projection for smoother previews. Space+drag on a storyboard header now pans the canvas instead of dragging the board, setup works on empty projects, and cached captures keep showing while the dev server boots.
**Chat and agents** get secondary tabs inside a root chat, a new GPT-6 Astra Codex model with a max-effort option, and a frozen per-session system prompt that preserves Fable's thinking. We also fixed image double-rendering on reload and made the app-exit notice dismissable.
On the **platform** side, Windows-on-ARM is now detected correctly under x64 emulation, and a batch of canvas host and projection stability fixes keep previews from deadlocking or failing silently.
**Canvas gets six interaction fixes plus smoother read-only performance.**
### Improved
* Read-only canvas viewing is lighter and no longer captures interactions.
* Chat now preserves your scroll position when navigating.
* Chat surfaces live tool progress from the Claude CLI.
* Archiving a workspace now archives all of its chats too.
### Fixed
* Fixed six canvas interaction issues and added gesture recording for better diagnostics.
* Chat now respects the CLI's default todo-tool behavior.
* Sidebar now uses a single Active/Archived filter.
* Certificate prompts only appear for main-frame errors, cutting spurious dialogs.
This release focuses on making **Canvas** more reliable. We fixed six distinct interaction bugs and added a gesture flight recorder to help track down future issues. Read-only viewing is now lighter, skipping interaction capture entirely for a smoother experience.
**Chat** improvements land too: your scroll position is preserved as you move around, live tool progress from the Claude CLI now shows up as it happens, and chat follows the CLI's default todo-tool behavior instead of overriding it.
On the **Platform** and **Workspaces** side, the sidebar consolidates to a single Active/Archived filter, archiving a workspace now archives all of its chats, and certificate prompts only appear for main-frame errors so you'll see far fewer unexpected dialogs.
**Tempo adds a hosted MCP server so external tools can connect to your workspace.**
### New
* Hosted read-only MCP server at mcp.tempo.new to connect external clients like ChatGPT.
* Added Claude Fable 5.1 to the model picker and retired Fable 5.
### Improved
* In-chat Cmd+F now highlights, counts, and steps through matches in one place.
* Entering interact mode on the canvas is now immediate.
* Style panel aspect ratio now drives element height.
* Guest web content gets Chrome-parity auth and better site compatibility.
### Fixed
* Root context menu now opens on storyboard headers and cold frames.
* Error toasts no longer fill the screen with raw git output.
* Restored the todo panel and the CLI trust prompt in AI chat.
This release opens Tempo up to the outside world. A new **hosted read-only MCP server at mcp.tempo.new** lets external clients such as ChatGPT connect to your workspace, the first phase of broader MCP support.
On the model side, **Claude Fable 5.1** is now available in the picker (Fable 5 has been retired), alongside refreshed bundled Claude and Codex SDKs.
Chat and Canvas both get sharper day-to-day fixes: in-chat **Cmd+F** now highlights, counts, and navigates matches together, entering interact mode is immediate, and the style panel's aspect ratio properly drives height. The root context menu also works on storyboard headers and cold frames.
Finally, a few rough edges are smoothed out — error toasts can no longer flood the screen with raw git output, guest web content behaves more like Chrome, and the todo panel and CLI trust prompt are back.
**Canvas gains commit-aware preview publishing with branch-live share links.**
### New
* Publish commit-aware previews and share branch-live links from canvas.
* Commit statuses now post through the Tempo Labs AI GitHub App.
### Improved
* Header Play/Commit split buttons use a cleaner segmented neutral-fill style.
* Windows login now uses native system controls.
* Ships and selects a native arm64 binary on Windows-on-ARM.
### Fixed
* Canvas error screen now follows your app theme.
* Agent turns that only return a promise are no longer marked done prematurely.
* Reloads no longer silently freeze due to beforeunload guards.
* Canvas restores the projected head correctly after receiver replacement.
The headline of 0.0.104 is a bigger step for canvas publishing. You can now publish **commit-aware previews** and hand out **branch-live share links**, so reviewers always see the state tied to a specific branch or commit. Commit statuses also flow through the Tempo Labs AI GitHub App for tighter integration with your repo.
Agents are more reliable: turns that only return a promise are no longer marked as done before they actually finish, so long-running work reports its real status.
On the desktop side, Windows login now uses native system controls, Windows-on-ARM ships and selects a native arm64 binary, and a beforeunload issue that could silently freeze reloads is fixed. Canvas also picks up smaller polish, including an error screen that follows your app theme and a fix for restoring the projected head after receiver replacement.
**Canvas now preloads center-area storyboards for faster loading.**
### Improved
* Canvas preloads storyboards near the center for quicker rendering.
### Fixed
* AI chat streaming no longer flickers from background sidechain events.
* Never-materialized workspaces can now be removed, with an automatic recovery retry.
* More reliable agent startup on Windows machines slowed by antivirus.
Canvas gets a responsiveness boost: storyboards near the center of your board are now preloaded, so they appear faster as you navigate.
AI chat streaming is steadier this release. Background sidechain events no longer cause the streaming state to strobe, giving you a cleaner view while responses come in.
Workspace management is more forgiving. Workspaces that were never fully materialized can now be removed, and a retrying recovery pass helps clean up stuck states automatically. On Windows, agent startup is more robust when antivirus software slows down process launches.
**The app now recovers from renderer crashes automatically instead of shutting down.**
### New
* Canvas AI mode: preview and edit structural gestures before applying them.
* Chat sidebar select mode with checkbox multi-select and a bulk-action bar.
* Agents: one list-settings control with a saveable default.
* Canvas capture auto-installs Chromium on first use.
### Improved
* AI-mode chrome now supports light mode and honors your saved canvas backdrops.
### Fixed
* A renderer crash no longer kills the app—dead renderers auto-reload.
* Canvas zoom shortcuts now work across keyboard layouts.
* Canvas links with line-number suffixes now open correctly.
* Canvas interact no longer gets stuck on a spinner.
* Chats now open in the right place instead of jumping to the top.
* Search now surfaces canvases from the workspace you're actually in.
* Issues: canvases linked by slug now preview and open.
* The updater waits for an in-flight install instead of abandoning it.
* Invite-by-email popover is tighter and its send logic works reliably.
* Remote control recovers cleanly after a machine identity reset.
This release focuses heavily on stability. A crash in one renderer no longer takes down the whole app—dead renderers now reload on their own, silent main-process failures are surfaced, and hidden surfaces stop doing background work. The updater also waits for an in-flight install to finish rather than abandoning it partway.
Canvas gets meaningful new capabilities and fixes. In AI mode you can now preview and edit structural gestures before committing them, and the chrome respects light mode and your stored backdrops. We also cleared up several long-standing annoyances: stuck interact spinners, zoom shortcuts that failed on some keyboard layouts, and canvas links with line-number suffixes that wouldn't open.
Chat picks up a select mode in the sidebar, so you can multi-select conversations and act on them in bulk, and chats now open at the correct scroll position. Agents gain a single list-settings control with a saveable default, plus more truthful run visibility.
Rounding things out, search now returns canvases from the workspace you're in, Issues can preview and open canvases linked by slug, sharing-by-email is more reliable, and remote control recovers gracefully from a machine identity reset.
**Canvas sharing now works in every cloud agent via the cloud-ready MCP with personal access tokens.**
### New
* Cloud-ready @tempo-ai/mcp with personal access tokens and a universal CLI so canvas share works in any cloud agent.
* Brand-new accounts can now onboard directly through the MCP login flow.
* Visual review adds org-membership approvals through the Tempo GitHub App.
### Fixed
* Model-less Claude sends and resumes now inherit the session's selected model.
* Chat ends the parent turn before starting background work.
* Bug report bundles are capped to fit the 200 MB upload limit.
* Removed a stray dev server warning toast.
This release centers on connecting Tempo to cloud agents. The new cloud-ready `@tempo-ai/mcp` package brings personal access tokens and a universal CLI, so sharing a canvas works from any cloud agent. Brand-new accounts can also complete onboarding straight through the MCP login flow.
AI chat gets more reliable: sends and resumes that don't specify a model now inherit the session's selected model, and chat cleanly ends the parent turn before kicking off background work.
We also tightened up a few rough edges — bug report bundles are now capped to stay within the 200 MB upload limit, a stray dev server warning toast is gone, and visual review now supports org-membership approvals via the Tempo GitHub App.
**A big Canvas release adds new authoring tools and fixes reliability across gestures, selection, and layout.**
### New
* Create a reusable component from any selected Canvas element.
* Frame-size presets appear while the Frame tool is armed.
* Drag and drop HTML files onto the Canvas.
* Snapshot routes as static HTML, plus AI-powered React snapshots for storyboards.
* Svelte authoring compatibility on Canvas.
* Folder cards open the all-canvases modal, with New Canvas and sort in the header.
* Set per-device custom AI-provider API keys in Settings → Preferences → Providers.
* External @tempo/mcp server with explicit scoping and headless canvas sharing.
* Fork a chat from any message.
* @-mention an agent to run it with a task, no ticket required.
### Improved
* Stages editor moved to Settings → Organization → Stages.
* Better asset library discovery across AI providers.
* Archived workspaces in the sidebar now sort by activity.
### Fixed
* Canvas selection, ungroup, empty text boxes, pasted images, and background-color changes now keep layout intact.
* Thin Canvas elements are easier to select.
* Symlinked files no longer open as blank.
* Issues: global Back reaches filtered-out tickets, Save works with cleared filters, and optimistic edits are restored.
* Chat keeps archived-workspace transcripts and durable conversation identity in the right panel.
* AI chat no longer prompts for the Keychain password on every spawn.
* Codex sends no longer silently downgrade to an unfundable BYOK route.
* Approval questions now show the agent config they refer to.
* Recurring Windows Git credential prompts are stopped.
* Switching workspaces preserves the focused tab and pane focus.
* Archived agent run chats stay read-only, and you can reopen the exact run.
* Fewer packaged-app crashes from main-process memory and diff-editor issues.
This release is centered on Canvas. On the authoring side you can now create a component from a selected element, use frame-size presets while the Frame tool is armed, drag-and-drop HTML files, snapshot routes as static HTML, and author in Svelte. Folder cards open the all-canvases modal, with quick access to New Canvas and sorting from the header.
Canvas reliability also got a broad pass. Selection is more forgiving for thin elements, ungroup keeps children selected, and layout is preserved through background-color changes, pasted images, and empty text boxes. Gesture, duplicate, and undo behavior has been hardened.
AI chat and agents saw a number of fixes: transcripts and conversation identity are more durable, approval questions show the agent config they reference, and Codex no longer prompts for your Keychain password on every spawn or silently downgrades to an unfundable route. You can now fork a chat from any message and @-mention an agent to run it directly with a task.
Issues navigation is smoother, with global Back reaching filtered-out tickets, Save working when filters are cleared, and optimistic edits restored. Elsewhere, you can set per-device AI-provider API keys in Settings, use the new external @tempo/mcp server, and benefit from stability fixes that reduce packaged-app crashes.
**The Agents tab is redesigned around a sidebar-driven layout with a new guided onboarding flow.**
### New
* Redesigned Agents tab: the list becomes the sidebar and settings fill the center.
* New 5-step onboarding with kickoff workspaces and a Getting Started widget.
* Paste HTML and URLs onto the canvas as live storyboards.
* Added a published release trigger for agents.
* Illustrated full-screen crash screen.
### Improved
* Faster workspace switching with less render churn.
* Color-picker edits now collapse into a single undo step, with per-workspace undo stacks.
### Fixed
* Doc and issue bodies no longer strip out embedded images.
* Share access requests and pending invitations now flow correctly.
* Interrupted chat turns can now be resumed.
* Expanded diffs no longer leak between chats.
* Chat history no longer shrinks destructively on replay.
* Per-chat link preferences stay independent.
* Codex messages are preserved across recovered sessions.
* Background agent runs no longer hijack your current workspace.
* Live shape previews render correctly while drawing.
* Interact-mode zoom now tracks the canvas, and frozen draw hover boxes clear.
* Shift+A is forwarded from embedded storyboards on the canvas.
* Sidebar widget no longer blocks adding a project.
* Post-wake auth toast now clears reliably.
* Fixed a macOS crash on launch from a stack overflow.
This release reworks the **Agents** tab into a sidebar-driven layout, so the agent list lives in the sidebar while settings take the center of the screen. Agents can now also be triggered on a published release.
New teammates get a smoother start with a **5-step onboarding flow**, kickoff workspaces, and a Getting Started widget in place of the old demo content.
The **canvas** gets a batch of fixes and additions: paste HTML or URLs to drop in live storyboards, cleaner undo behavior for color edits, correct live previews while drawing, and zoom that properly tracks the canvas.
**Chat** and **workspace** reliability improve across the board — interrupted turns are resumable, chat history and diffs stay scoped to the right chat, workspace switching is faster, and doc and issue images are no longer stripped on save.
**AI chat can now read your live Tempo workspace context, and agents can auto-archive their workspace when a run completes.**
### New
* AI chat now has access to your live Tempo workspace context.
* Agents can auto-archive their workspace when a run completes (toggle per agent).
* Private Tempo links now unfurl in connected Slack organizations.
* Bug reports now let you opt in to email updates.
### Improved
* You can now copy images you've sent in chat.
### Fixed
* Chat no longer discards buffered Codex content when you stop a turn.
* Chat history is preserved across Codex thread recovery.
* The right-panel composer keeps your draft when you change routes.
* The first workspace message is no longer lost after auto-naming.
* Stopped initial-turn context is kept when switching chats.
* The workspace sidebar no longer scrolls horizontally.
* Slack agents now re-trigger on an in-thread bot @mention.
* Retried and continuation agent runs no longer get stuck or abort your chat.
* Creating an issue no longer silently drops the body.
* The open-canvas picker no longer badges unchanged forks as 'modified'.
* Fixed canvas repaint storms on fresh frames.
This release makes AI in Tempo more aware of what you're actually working on: chat can now read your live workspace context, so responses reflect the current state of your docs, issues, and canvas.
Agents get more autonomous and reliable. A new toggle lets an agent auto-archive its workspace once a run finishes, and we fixed several run issues — continuation runs no longer get stuck, retried runs won't abort your active chat, and Slack agents re-trigger correctly when @mentioned in a thread. Private Tempo links now also unfurl in connected Slack organizations.
Chat reliability saw a big round of fixes around drafts and history: composer drafts survive route changes, chat history is preserved across Codex thread recovery, buffered content is kept when you stop a turn, and the first workspace message is no longer lost after auto-naming. You can now also copy images you've sent.
On canvas, we stopped repaint storms on fresh frames and fixed the open-canvas picker incorrectly flagging unchanged forks as modified.
**Shared links get rich previews, email invites, and a Try Tempo call-to-action for public viewers.**
### New
* Shared Canvas, Issue, and Doc links now show rich previews.
* Invite people by email directly from private share links.
* Anonymous viewers of public shares see a Try Tempo call-to-action.
* Fork a conversation across providers from the model picker in AI chat.
* Pin a storyboard as a canvas cover.
### Improved
* Archived workspaces keep their chat history visible.
### Fixed
* Share links now correctly request organization access.
* Restored the direct split button action in split view.
* Tickets no longer show an empty description while loading.
* Resuming an AI chat now routes to the provider that owns the session.
* Settled Codex background agent activity in AI chat.
* Unified side-chat loading, remote attach, and transcript parity.
* Issue chat signals now span every linked branch for a ticket.
* Archived continuation workspaces can be restored for agents.
* Fixed comment toggle layering on web shares.
Sharing is the focus of this release. Links you share to a Canvas, Issue, or Doc now render rich previews, and you can invite teammates by email straight from a private share link. Public shares also gained a "Try Tempo" prompt for anonymous viewers, and share links now request organization access correctly.
AI chat picks up a couple of meaningful improvements: you can fork a conversation across providers right from the model picker, and resuming a chat now routes back to the provider that actually owns the session. We also unified side-chat loading, remote attach, and transcript behavior, and settled lingering Codex background agent activity.
Rounding things out, canvas covers can now be pinned from a storyboard, archived workspaces keep their chat history visible, and we fixed the split-view button, empty ticket descriptions on load, issue chat signals across linked branches, and comment toggle layering on web shares.
**Tempo adds org-level Linear integration alongside a shared find bar and R2-powered auto-updates.**
### New
* Org-level Linear integration: issue mirror, Integrations tab, and "Add Linear issue" as chat context.
* One shared Cmd+F find bar across all five surfaces.
* Fork a chat from any completed assistant turn.
* Software Factory default stage pipeline with a pipeline diagram in every shipped agent template.
* Copy a link from the chat context menu.
* Canvas interact mode now runs in an authenticated webview.
* "Create N workspaces" added to the issues multi-select bar.
* Agent mention chips and tool calls open their agent or run; @-mentions in the master-prompt editor.
* Request org access from an invite link, with admin approval.
* Downloads and auto-update now served from Cloudflare R2.
### Improved
* Chat status now persists across app restarts.
* User-configured Codex MCP servers show with live status.
* Claude rate limits now appear in the error banner.
* Unified, searchable assignment picker in Issues.
* Global back/forward buttons navigate correctly and sit left-aligned.
### Fixed
* Chat retries after a Codex crash instead of erroring forever.
* Codex messages no longer lost after an early stop, and streamed replies no longer duplicate.
* Image attachments now work in issue workspace prompts.
* Issue deep links always open in the full deep dive.
* Docs/Issues side chat starts a real new conversation.
* Removed the false "Reconnecting" toast and the misleading "produced no output" message while the AI is still writing.
* Sidebar chats no longer go missing after a hard reload.
* Color picker's saturation/lightness square tracks hue again.
* Dragging a multi-selected group of storyboards moves the whole group again.
This release centers on **Linear**. You can now connect Linear at the org level, mirror issues into Tempo, manage it from a new Integrations tab, and pull a Linear issue straight into chat as context. Alongside it, the Software Factory pipeline ships as the default stage flow with a pipeline diagram in every agent template.
**Chat and search** get meaningful upgrades: a single Cmd+F find bar now works across every surface, you can fork a chat from any completed turn, and you can copy links from the chat context menu. Reliability is much better too — Codex crashes now respawn and retry, early-stop no longer loses messages, streamed replies stop duplicating, chat status survives restarts, and configured MCP servers show live status.
**Canvas** interact mode moves into an authenticated webview, group storyboard drags work again, and load failures now trigger an automatic diagnostic. On the **Platform** side, downloads and auto-updates now come from Cloudflare R2, invite-link recipients can request org access for admins to approve, and several confusing toasts and error messages were cleaned up.
**The updater now re-stages after a blocked install so you're no longer left stranded.**
### Fixed
* Updates now re-stage automatically after a blocked install instead of leaving you stuck.
* Animations no longer misbehave in unfocused windows.
This release focuses on smoothing out the app experience.
The biggest fix is in the updater: if an install gets blocked, Tempo now re-stages the update instead of stranding you without a clear path forward. You'll get back on the latest version without manual intervention.
We also fixed a visual glitch where animations behaved incorrectly in windows that weren't currently focused.
**Side-chat is now a single unified surface across the app, with the lifecycle bugs it caused fixed.**
### New
* Canvas: Option-drag now resizes an element from its center.
* Issues: a daily PR review digest report is now available.
* Same-org Tempo links now open in native tabs.
### Improved
* Chat now uses one unified side-chat panel everywhere, fixing related lifecycle bugs.
* Clicking an issue no longer re-renders the whole page shell.
* Slack integration now shows readable display names instead of user IDs.
* Switching chats no longer re-renders hidden background routes.
* Getting-started steps now explain what each one is doing and why.
* Windows window controls now match the macOS traffic-light layout.
* Removed the Confirmations section from Settings.
### Fixed
* The Windows app no longer crashes at startup on some checkouts.
* Cancelling a plan mid-input no longer silently drops your message.
* Chats interrupted by a crash now reopen clearly marked as interrupted.
* Closing a chat tab with the X no longer deletes the chat.
* Command output is now preserved when replaying a chat turn.
* Sending no longer re-captures pinned context, and a redundant slow-turn warning was removed.
* Workspace access errors now show a clear explanation instead of a raw code.
* Canvas storyboards resume watching correctly on a replacement host document.
* The app font menu in the style panel is responsive again.
* Auto-install-on-quit updates now run the same pre-flight checks as the Update button.
* A dead connection is capped at 8s so it can no longer strand the client on startup.
* Archiving now works even through stale index locks.
* Seeded starter content no longer counts against your setup progress.
This release consolidates the side-chat experience: there's now a single `ChatView`, `SideChatPanel`, and host across the app, which clears up a class of lifecycle bugs that came from having several fragmented versions. Alongside that, chat is more reliable end to end — cancelling a plan no longer drops your message, crashed chats come back clearly marked as interrupted, closing a tab won't delete a chat, and command output survives a turn replay.
We fixed a startup crash affecting the packaged Windows app, capped a stuck connection handshake at 8 seconds so a dead connect can't strand you, and made auto-install-on-quit run the same checks as the manual Update button. Windows window controls now line up with the macOS layout.
Canvas gains Option-drag to resize from an element's center, and storyboards recover correctly when their host document is replaced. Issues adds a daily PR review digest and stops re-rendering the whole page when you click into an item. Same-org links now open in native tabs, and Slack mentions resolve to readable names.
**You can now @-mention Tempo agents directly in AI chat to delegate, inspect, and edit work from the conversation.**
### New
* @-mention Tempo agents in AI chat to delegate, inspect, and edit from the conversation.
* Artifacts PR rows now show their own status: state tile, CI/approval glyphs, and #N pill.
* New organizations start with a seeded template agent fleet.
* Chat links open externally by default, with a preference to open them in Tempo.
* Share loading now shows a Shippy flight progress indicator.
### Improved
* Canvas AI mode now starts on your first edit instead of on selection.
* Polished the Canvas assets tab.
* Renamed the "Feature Spec Writer" template to "Spec & Design".
* Capped sidebar width on ultrawide displays.
### Fixed
* The issue create modal now inherits the board's active filters.
* Live agent signals now appear on the ticket, not just its row.
* Split-view AI chat state now persists in Issues.
* Artifact links survive out-of-app branch renames instead of orphaning.
* "Last viewed" sort now actually orders workspaces.
* The Canvases home grid no longer blanks thumbnails on a preview re-query.
* Color token search works again in monorepos.
* Duplicating storyboards now preserves named exports and handles fast resizes.
* Slash command pills now persist across workspaces.
* Browser back/forward history persists across workspace swaps.
* Undeliverable Slack continuation runs now fail instead of queueing forever.
* Only the table scrolls on the Agents tab.
* Billing toasts no longer double-fire or leak raw error codes.
* Auth no longer leaves a blank window when boot stalls.
* The updater no longer re-stages a downloaded update every minute.
* Empty comment composers now close on click-away.
* Bug-report transcripts are no longer missing after workspace moves.
This release makes agents a first-class part of AI chat. You can now `@`-mention Tempo agents in a conversation to hand off work, inspect what they're doing, and edit their output without leaving the thread. New organizations also start with a ready-made template agent fleet.
Issues gets a more useful Artifacts view: PR rows now carry their own status with a state tile, CI and approval glyphs, and a `#N` pill. Live agent signals now land on the ticket itself, the create modal respects the board's active filters, and split-view AI chat state sticks around.
Canvas is smoother throughout — AI mode waits for your first edit before engaging, the assets tab is cleaner, color token search works in monorepos again, and storyboard duplication and resizing are more reliable.
Platform fixes round things out: the updater stops re-staging downloads every minute, billing toasts no longer double-fire, auth won't leave a blank window on a stalled boot, and browser history now survives workspace swaps.
**Chat and issue views now switch near-instantly instead of fully reloading.**
### New
* The agent run queue now lives in the grid's Activity column.
* Creating a workspace now opens it directly in Issues chat.
### Improved
* Switching issue views is now near-instant (down from \~1.8s) with progressive card loading.
* Switching between chats is now instant, with no reload flicker.
* Chat memory usage is lower after switching workspaces and closing chats.
* Split-pane divider dragging no longer stutters.
### Fixed
* AI chat now surfaces upstream API errors instead of silently reporting success.
* Queued chat messages are restored after a restart.
* Slow AI turns now show a visible warning, and follow-up messages deliver reliably.
* Codex message structure is preserved in AI chat.
* Saved-view filter reset works again in Issues.
* Linked artifacts open as a tab in the same split pane.
* Restored the open action for linked workspaces, including archived ones.
* The archive Undo toast now stays visible so restores aren't silent.
* Canvas no longer performs lossy element reconstruction on destructive moves.
* Canvas autosize growth is now capped so elements can't balloon uncontrollably.
* Removed the noisy "Couldn't refresh attached element" canvas warning toast.
* Insights now pages merged-PR fetches so large repos aren't dropped.
* The force-upgrade overlay now always has a working exit.
This release is mostly about speed and reliability in the two places you spend the most time: **Chat** and **Issues**. Chat switching is now a fast prop swap rather than a full remount, and issue view switches drop from around 1.8 seconds to under 100 milliseconds thanks to progressive card loading. Memory footprint is also lower after moving between workspaces and closing chats.
On the AI side, chat now correctly surfaces upstream API errors instead of falsely reporting success, restores queued messages after a restart, warns you when a turn is running slow, and reliably delivers follow-up messages. Codex message structure is now preserved as well.
**Issues** and **Workspaces** get a batch of fixes: saved-view filter reset works again, linked artifacts open as a tab in the same split pane, linked workspace open actions (including archived ones) are restored, and the archive Undo toast stays visible so restores aren't silent. The agent run queue now lives directly in the grid's Activity column, and new workspaces open straight into Issues chat.
**Canvas** is more robust too — no more lossy reconstruction on destructive moves, capped autosize growth, and a removed noisy refresh warning. Rounding things out, split-pane dragging no longer stutters, Insights handles large repos without dropping PRs, and the force-upgrade overlay always has a working exit.
**Switching workspaces no longer freezes for half a second.**
### New
* Your current canvas selection is now auto-attached to chat context.
* Resize multiple selected canvas elements proportionally at once.
* Chat links now show an affordance to open in your external browser.
* Added DeepSeek V4 Pro to the chat model catalog.
* Tempo now confirms before quitting or reloading, and you can reset this in Settings.
### Improved
* Eliminated the \~500ms freeze when clicking into a workspace.
* Faster canvas rescans by limiting them to the workspace that changed.
* Home no longer shows workspace chrome and correctly detects steps your org already completed.
### Fixed
* Line-linked chat citations now reveal correctly.
* Home's count badge now shows the right number.
* PR badges now always open in your external browser.
* Issue cards now show the "Awaiting Response" status.
* Cmd+L is now scoped to the focused tab.
* Holding Shift now constrains element drags to a single axis.
* Revealing layers no longer scrolls the whole workspace.
* Panel sizes stay contained again after the earlier overflow fix.
* Style panel no longer emits Tailwind classes in repos that don't use Tailwind.
* Chat fast mode now persists for new chats.
* The live canvas host stays stable across probe misses.
This release is mostly about making the workspace feel quick and dependable. The biggest win is the removal of the roughly half-second freeze that hit every time you clicked into a workspace, backed by a lighter snapshot fan-out and smaller, workspace-scoped canvas rescans.
Canvas gets real editing upgrades: you can now resize multiple selected elements proportionally, hold Shift to lock a drag to one axis, and revealing layers no longer yanks the whole workspace around. A batch of AI-mode drag and gesture bugs were also cleaned up.
Chat and Canvas are more connected — your current canvas selection is automatically attached to chat context, and line-linked citations now reveal properly. Chat also picks up DeepSeek V4 Pro, an external-browser link option, and persistent fast mode for new chats.
On the platform side, Tempo now asks for confirmation before you quit or reload (resettable in Settings), PR badges open in your external browser, and Home is cleaner with a corrected count badge.
**A new Home tab with a Getting Started checklist joins global back/forward navigation and richer Issues filtering.**
### New
* Home tab with a Getting Started checklist that tracks agent-reported completion.
* Global back/forward history in the app header.
* Issues filter dropdown with search plus creators and agents dimensions.
* Pull requests and Lines changed metric tabs on the org Insights tab.
* Links from a Browser tab now open new Browser tabs beside the current one.
* Open PR pills as in-app browser tabs in the right split.
* Right-click menu on the chat's linked-issue card.
* Browser tabs auto-reload local HTML files.
### Improved
* Right-panel state now persists across Issues, Canvas, and Docs.
* Switching back to a chat renders its tail instantly, loading the rest behind it.
* Faster, watch-based workspace status badges instead of periodic sweeps.
* Cleaner chat output spacing around tool calls.
* Browser shows a loading state over reloading pages instead of a black screen.
### Fixed
* Label-grouped boards no longer hide name-backed issues.
* Editing a doc or issue no longer corrupts emoji or triggers a Server Error.
* Opening an issue no longer writes blank paragraphs into its body.
* Canvas previews are now captured when an agent finishes a canvas session.
* Apple Silicon users now get the correct notarized macOS installer.
* Updater verifies the staged bundle signature before installing.
* Linked artifacts on web share pages are correctly placed and clickable.
* Dark-mode chat surface and elevation regressions.
* Split-view divider drags keep working across webviews and iframes.
* Code-review ReportFindings results now render in chat.
* Agent-created issues no longer hit an auto-linking race.
* Fuzzy search treats separators consistently for better matches.
This release adds a **Home tab** with a Getting Started checklist that fills in as your agents report progress, plus **global back/forward navigation** in the app header so moving between views feels like a browser.
**Issues** gets a redesigned filter dropdown with search and new creators/agents dimensions, a right-click menu on linked-issue cards in chat, and fixes that stop label-grouped boards from hiding issues and prevent blank paragraphs from being written into issue bodies. The org **Insights** tab now includes Pull requests and Lines changed metrics.
**Browser and workspace** work is prominent: in-page links open new tabs beside the current one, PR pills open as in-app browser tabs in the right split, local HTML files auto-reload, and reloading pages show a loading state instead of a black screen. Right-panel state now persists across Issues, Canvas, and Docs.
Under the hood, **Chat** switches back instantly by rendering the tail first, and workspace status badges update via watchers instead of periodic sweeps. **Canvas** reliably captures previews when agents finish, and **Platform** fixes cover a correctly notarized macOS installer for Apple Silicon and signature verification before updates install.
**Canvas AI Mode lets you stage edits on uneditable elements and apply them through chat.**
### New
* Canvas AI Mode: stage edits on uneditable elements and apply them via chat.
* Issues: agent work now shows up in the issue activity feed.
* Artifact links now point at a specific branch instead of a workspace.
* Confirm before quitting or reloading, resettable from Settings.
* New keyboard shortcuts for opening and moving between chat tabs.
* Browser tab: open external app links like slack:// through a consent dialog.
* Chat links open in a split-view Browser tab; Cmd+click opens your OS browser.
* Chrome-style Cmd+L, Cmd+F, and Cmd+R/W/T in the Browser tab.
* Ctrl-N navigation shortcut hints, shown after holding Ctrl for 1.5s.
* /audit-tdd is now a built-in slash command.
### Improved
* Agent runs survive session death and no longer get killed while still healthy.
* Remote Control: answering a chat question on one machine no longer freezes the other.
* Faster git syncing across all workspaces.
* Double-click a selection outline or handle to hug its contents.
### Fixed
* Cmd+B bolds text again when an editor is focused.
* Renaming a chat no longer retargets the chat you're currently viewing.
* Mirrored chat now shows the full turn in flight, not just the tail.
* Outage toast no longer fires for users who are actually online.
* Stale storyboard previews and share sizing now render correctly.
* ESC returns to the Select tool after arming a tool from a toolbar dropdown.
**Canvas AI Mode** is the headline of this release. You can now stage AI-driven changes on elements that aren't directly editable and apply them straight from chat, with double-click-to-hug sizing and a handful of related canvas fixes to smooth out the experience.
Agent reliability got a major pass. Runs now survive session death, keep queued messages, and stop being reaped while they're still working or waiting on a user question. Remote Control also behaves correctly across machines — answering a chat question on one no longer freezes the other, and mirrored chat shows the full in-flight turn.
Issues gain visibility into agent work directly in the activity feed, and artifact links now resolve to a specific branch rather than a whole workspace.
The Browser tab feels much more like a real browser: external app links open through a consent dialog, chat links open in split view (Cmd+click for your OS browser), and Chrome-style shortcuts like Cmd+L and Cmd+F now work. Rounding things out are quality-of-life additions like confirm-before-quit, new chat-tab shortcuts, a fresh MCP tab, and fixes for Cmd+B bolding, chat renaming, and the online-user outage toast.
**The free tier moves to GPT-5.6 Luna with a spend cap instead of a prompt limit.**
### New
* Free tier now runs on GPT-5.6 Luna, capped on spend rather than number of prompts.
* Shift+A now preserves grid/wrap layout when converting in place.
* Light-mode support added across the BPM design system.
### Improved
* Radius handles now appear near selection corners.
* New effects are added to the top of the effects stack.
* Workspace git menu now shows working-tree dirty status.
* Canvas type-checking runs off the main thread for smoother performance.
* Canvas share links now unfurl as readable previews in Slack.
### Fixed
* Expo canvas render hosts no longer fail to start.
* Dead file:// links in chat are now preserved and clickable.
* Browser element screenshots now capture with full fidelity.
* Copy/paste of layers now works inside HTML storyboards.
* Justify-content control now always shows on flex containers.
* Selection color stays on a collapsed element's frame.
* Shift+A no longer strands a peer-sized block as an outlier.
* Canvas homepage now re-scopes to the active org when you switch orgs.
* "New Canvas" now gives real feedback on un-initialized projects.
* First turn no longer depends on route, and view state is now per-workspace.
* A queued first turn that never started can now be cleared.
* AI chat reliably ends a turn even when a reconnect produces no output.
* Long chat builds show a heartbeat during silent apply\_patch gaps instead of looking frozen.
* Quitting the app no longer crashes while disposing AI sessions.
* A hung auth refresh can no longer wedge the app.
* A failed language-server spawn no longer crashes the app.
* Onboarding drops a redundant status line under Get Started.
The headline of 0.0.88 is a billing change: the free tier now runs on **GPT-5.6 Luna** and is metered by spend instead of a fixed number of prompts, so you can keep working without hitting an arbitrary prompt ceiling.
Canvas gets the most attention this release. Shift+A now preserves grid and wrap layouts when converting in place, radius handles surface near selection corners, and new effects land at the top of the effects stack. Several rendering and reliability issues are fixed too — Expo render hosts start correctly, browser screenshots capture at full fidelity, copy/paste works inside HTML storyboards, and the canvas homepage re-scopes when you switch orgs.
Chat and workspace flows are steadier. AI turns now reliably terminate after a reconnect, long builds show a heartbeat instead of appearing frozen, and quitting the app cleanly disposes sessions. Workspaces get per-workspace view state, route-independent first turns, working-tree status in the git menu, and clearer feedback when creating a canvas in an un-initialized project.
On the platform side, a hung auth refresh can no longer wedge the app, failed language-server spawns no longer crash it, and canvas share links now unfurl as readable previews in Slack.
**Custom Agents can now be shared across your org with private/public and edit-permission controls.**
### New
* Org-scoped Custom Agents with Private/Public and View-only/Anyone-can-edit permissions.
* Rich agent cards in chat, plus open agents in tabs or split view.
* Split display mode in Issues for triaging agent PRs.
* Toggle the chat sidebar with Cmd+B.
### Improved
* Shared links now name the browser tab after the shared artifact.
* Updater offers a retry before falling back to a manual download.
* The FTUE "Get Started" button now shows a loading state.
### Fixed
* Fixed downloads and auto-update outages caused by GitHub rate limits.
* Fixed "Update didn't apply" errors and the broken manual-download link.
* Re-assigning an agent to an issue now continues its existing workspace.
* Canvas: clicking the all-canvases folder opens the modal instead of drilling in.
* Canvas: drawn frames no longer render at 0x0 in newly created files.
* Canvas: small SVG shape dimensions are preserved.
* Canvas: multi-select drag groups stay rigid when dropped on a frame.
* Canvas: undo history is resealed correctly after landed writes.
* Settings stay open after deleting a project.
* Issues create-modal preserves body text without loss.
* Style panel resolves repo-image fill previews correctly.
* AI chat: Codex App plugin tools now work out of the box.
* Landing page scroll animations fire reliably on Firefox.
This release brings **Custom Agents to the whole org**. You can now mark agents Private or Public and choose whether others can View-only or edit them, making it easier to build and share a shared library of agents across your team. Agents also feel more at home in chat now, with rich agent cards and the ability to open agents in tabs or split view.
**Issues** gains a Split display mode built for triaging agent-generated PRs, and re-assigning an agent to an issue now correctly continues its existing workspace instead of starting over. Chat picks up a Cmd+B shortcut to toggle the sidebar.
We fixed several **update and availability issues**: downloads and auto-updates that were failing due to GitHub rate limits are resolved, the "Update didn't apply" error and its broken manual-download link are fixed, and the updater now offers a retry before sending you to a manual download.
**Canvas** got a round of fixes: the all-canvases folder opens the modal instead of drilling in, drawn frames no longer render at 0x0 in new files, small SVG dimensions are preserved, multi-select drag groups stay rigid on frame drop, and undo history behaves correctly after writes land. Rounding things out are fixes to settings navigation after deleting a project, lossless issue-creation body text, style panel image-fill previews, Codex App plugin tools in AI chat, and Firefox scroll animations on the landing page.
**HTML storyboards are back with full editing support.**
### New
* Edit HTML storyboards again on the canvas, with flat-JSX capture preserved.
* Kimi K3 model now available directly in AI chat via Tempo Inference.
### Improved
* Canvas homepage loads faster and canvases no longer disappear.
* Faster workspace and homepage loading with reduced git activity and fewer freezes.
* Added a delete option to the canvas selection context menu.
### Fixed
* "Fix with AI" now correctly pre-fills the chat composer.
* Agents can now route work to a teammate's agent.
* AI tool calls are pinned to the workspace's org instead of the active window's org.
* Configured MCP servers now auto-approve on Codex.
* Queued chat messages now send reliably on the async settle path.
* Wrapper components stay visible in the layer tree.
HTML storyboards are no longer deprecated — you can edit them directly on the canvas again, while flat-JSX capture continues to work as before. We've also added **Kimi K3** as a directly routable model in AI chat through Tempo Inference.
Canvas and homepage performance got a significant boost this release. A new content-addressed canvas index cut the index from over 29,000 rows down to 586, fixed canvases occasionally disappearing, and reduced the git activity that was causing main-process freezes and slow loads.
Several chat and agent fixes landed too: "Fix with AI" now pre-fills the composer, agents can route work to a teammate's agent, AI tool calls respect the workspace's org, and queued messages send reliably. MCP servers configured for Codex now auto-approve, and wrapper components stay put in the layer tree.
**Faster canvas panning and performance on large canvases, plus a new all-canvases homepage.**
### New
* New all-canvases homepage replaces the old per-workspace view.
* Live component previews and add-to-canvas from the Assets tab.
* Clickable file links in chat.
* Font-size shortcuts: Cmd/Ctrl+Shift+. and Cmd/Ctrl+Shift+,.
* Agents show a Runs-on properties row with per-agent Remote Control opt-in.
* File tree no longer auto-expands and now shows gitignored entries.
* Redesigned landing page.
### Improved
* Smoother panning and better performance on large canvases.
* Design context sidebar now matches the chat sidebar.
### Fixed
* Storyboard moves no longer revert.
* Multi-element drags commit atomically and snap the selection as a whole.
* Same-named canvases no longer collide, now addressed by path.
* Fixed several canvas-loading hangs.
* No more default-sized outline flash when starting a draw gesture.
* Fast release-while-moving draws now commit instead of cancelling.
* Alignment snapping now works while drawing storyboards and frames.
* Unsubscribing from a Slack thread no longer mutes the whole channel.
This release focuses heavily on the canvas. Panning is smoother and large canvases perform noticeably better, and we've cleaned up a range of editing rough edges: storyboard moves no longer snap back, multi-element drags commit as a single action and snap the whole selection, and alignment snapping now applies while you draw. We also fixed several loading hangs and stopped canvases with the same name from colliding by addressing them by path.
There's a new all-canvases homepage built on the designer's own code, replacing the older per-workspace view. The Assets tab now shows live component previews you can drop straight onto the canvas, and chat file references are now clickable links.
Rounding things out: new font-size shortcuts (Cmd/Ctrl+Shift+. and +,), a Runs-on row and per-agent Remote Control opt-in for agents, a file tree that no longer auto-expands and surfaces gitignored entries, a redesigned landing page, and a Slack fix so unsubscribing from a thread no longer mutes the entire channel.
**Remote Control lets you run workspaces on another machine and mirror and control them from this one.**
### New
* Remote Control: run workspaces on another machine, then mirror and control them locally.
* Added Opus 5 and set Opus 5 1M as the default model (Sonnet 4.6 retired).
* Custom Agent templates now support MCP tools.
* Redesigned issue and doc share pages, Notion-style, for mobile and desktop.
* Canvas share page now has a proper mobile layout.
* Canvas: edit portal content directly in projected storyboards.
* Canvas: selection-aware undo/redo.
* Canvas right-click menu now shows keyboard-shortcut hints and flashes on press.
* Click the branch name in the app header to copy it.
* Rebuilt the issues filter dropdown on the design-system dropdown.
### Improved
* Style panel class and color search now ignores separators when matching.
* Removed the close warning on share pages.
### Fixed
* Pinned workspaces keep a stable order and drag-and-drop lands on the target.
* Interrupted chats are no longer counted as running agents.
* Canvas share page shows a loading state instead of an error while loading.
* Canvas no longer loses the projected head on unstyled storyboards.
* Canvas chat session dropdown now scrolls with a visible scrollbar.
* Diagnostics export now keeps a chat tab's prior-session events.
* Toggling Tempo Inference now tears down the running server as expected.
The headline in 0.0.84 is **Remote Control**: you can now run workspaces on another machine and mirror and control them from your current device. This is useful for offloading heavy work or driving a workspace that lives elsewhere.
Models got an update too — **Opus 5** ships and is now the default (Opus 5 1M), while Sonnet 4.6 has been retired. Custom Agent templates can now use MCP tools.
Sharing saw a big pass: the issue and doc share pages have a cleaner, Notion-style redesign that works on mobile and desktop, the canvas share page gets its own mobile layout, and canvas shares now show a loading state instead of an error while they load.
Canvas picked up several editing improvements, including editable portal content in projected storyboards, selection-aware undo/redo, and keyboard-shortcut hints in the right-click menu.
A round of fixes tightens everyday flows: pinned workspaces stay in order and drop where you expect, interrupted chats no longer show as running agents, and clicking the header branch name copies it.
**Tempo adds an embedded browser and a Web Clipper for turning any page into a canvas storyboard.**
### New
* Embedded browser tabs with element context inside your workspace.
* Web Clipper captures any web page as an HTML storyboard on the canvas.
* Fast-mode toggle in chat input for BYOK OpenAI priority tier.
* GPT-5.3 Codex Spark added to the model picker (BYOK-only).
* Kimi K3 replaces Kimi K2.6 in the OpenCode picker.
* Canvas comments now render image attachments.
* Renaming a chat can also rename its workspace branch.
* Shift+A aligns a full selection on the canvas.
* Design-system generation adds a build-mode choice and app-shell scaffolding.
### Improved
* Chat-view center tabs stay mounted when you switch tabs.
* Auto-layout gap and spacing inference is smarter, including negative and overlapping stacks.
* Auto-updates now surface when they're stuck or failed instead of failing silently.
### Fixed
* Opening an issue no longer auto-opens the AI chat panel.
* Archive-toast Undo no longer races or fails silently.
* Archived chats keep their history when restored.
* Storyboard previews survive switching workspaces.
* Blank-frame flash on auto-layout wrap undo/redo is gone.
* Hover and click now reach frames inside a selected storyboard.
* Canvas handles file paths with spaces.
* Text nodes containing line breaks are now editable.
* Reconnect banner no longer intercepts clicks.
* Windows no longer shows a false "Git is required" block on slow machines.
* Chat resumes cleanly after you interrupt it, instead of reusing a flaky session.
* Custom Agent runs no longer hang after a submission failure.
* Chat preserves your selected model for the commit action.
* Background helper processes stay hidden (no Mac Dock icons or Windows consoles).
* Error text in bug reports is now actually visible.
This release brings browsing into Tempo. You can now open **embedded browser tabs** right in your workspace and pull element context from a page, and the new **Web Clipper** turns any web page into an HTML storyboard on the canvas.
AI chat gets more options: a **fast-mode toggle** for BYOK OpenAI users, **GPT-5.3 Codex Spark** in the picker, and **Kimi K3** replacing K2.6 in OpenCode. Renaming a chat can now also rename its workspace branch, and center tabs stay mounted as you move between them. Canvas comments render image attachments, and auto-layout inference handles alignment (Shift+A), spacing, and overlapping stacks more accurately.
A large batch of fixes lands too. Opening an issue no longer forces the chat panel open, archive/restore keeps chat history intact, storyboard previews persist across workspaces, and several canvas interaction bugs (blank-frame flashes, selecting frames inside storyboards, paths with spaces, text with line breaks) are resolved. Stuck auto-updates now surface instead of failing quietly, chat resumes cleanly after an interrupt, Windows no longer shows false Git errors, and background helper processes stay out of your Dock and taskbar.
**Canvas gains a Shift+A auto-layout suite and Tempo adds the GPT-5.6 Codex models.**
### New
* Shift+A converts a container to auto layout, inferring flex-wrap, CSS grid, per-side padding, and visual flow order.
* Option+Shift+A removes auto layout from a selection.
* Added GPT-5.6 (Sol/Terra/Luna) Codex models; retired GPT-5.4 Codex.
* Agent Templates gallery to jump-start custom agents.
* Design-system slash-command suite plus an example buttons canvas.
* Gradient and image fills are now available on the bottom fill layer.
* Typography live-previews on hover over font options in the style panel.
* Search issues by their human-readable issue ID.
* Issue detail menu adds Create workspace and Copy ID actions.
* Copy as Markdown from the authenticated member doc-share view.
* Custom artifacts and inline artifact pills now open in split view instead of the browser.
* Archive workspaces to remove the worktree while keeping the branch.
* Pinned workspaces are grouped into a flat Pinned section.
* Add a manual reload button to canvas toolbars; Cmd+R reloads the canvas, not the page.
* GLM 5.2 free and paid are merged into one quota-aware picker row.
### Improved
* Fixed 1-2s app freezes, idle CPU churn, and renderer memory bloat.
* Queued agent runs are now visible when you hit the concurrency cap.
* Reused idle AI terminals for repeated AI-run commands.
* Preserve split-view doc scroll position across workspace switches.
### Fixed
* Dragging fill alpha to 0 no longer deletes an authored fill row.
* Create new issue without a full board scan, plus a stable assignee dropdown position.
* Canvas share now works for canvases nested at any depth.
* Share/preview captures no longer save silently partial.
* Stopped Convex websocket flapping every \~5 minutes on token refresh.
* Agents create instantly instead of a draft view, fixing the infinite-loading Slack trigger.
* Abandoned or interrupted AI runs show an inline notice instead of an infinite spinner or full-screen takeover.
* Place canvas comments from a touch tap on mobile Safari.
* Recovered workspaces stuck in a "materializing" state.
Canvas is the centerpiece of this release. **Shift+A** now turns a selected container into auto layout in place, and it's smart about it: it infers flex-wrap for multi-row content, CSS grid for clean 2D arrangements, per-side padding from your children's edge offsets, and reorders children into visual flow. **Option+Shift+A** removes auto layout again. You also get a manual reload button in canvas toolbars, and **Cmd+R** reloads the canvas instead of the whole page.
On the AI side, the **GPT-5.6 (Sol/Terra/Luna)** Codex models are in and GPT-5.4 Codex is retired. A new design-system slash-command suite makes it easier to work from your own components, and GLM 5.2 free and paid now share a single quota-aware picker row. Custom artifacts and inline pills open in split view rather than kicking you out to the browser.
Workspaces gained archiving that removes the worktree while keeping the branch, a dedicated Pinned section, and recovery from workspaces stranded in a "materializing" state. Issues get search by human issue ID, faster issue creation, and new Create workspace / Copy ID actions.
This version also focuses heavily on stability and performance: we fixed 1-2 second freezes, idle CPU churn, and renderer memory bloat, stopped a websocket reconnect loop on token refresh, and replaced several infinite spinners with clear inline states.
**Agents can now post to Slack as the Tempo bot and keep conversations going in threads.**
### New
* Agents post to Slack as the Tempo bot, with multi-workspace Slack support and 13 tools including DMs.
* Slack threads continue in the same Tempo workspace with thread-aware routing.
* Human-readable share URLs (org slug + issue) for links you send out.
* Per-model Tempo Inference credit controls in billing.
* Model-scoped promo codes.
* Browse and edit a project's CSS custom properties directly from the canvas.
* Canvas draw tools emit Tailwind classes instead of inline styles.
* Figma-style marquee selection on the canvas.
* Keyboard layer-reorder shortcuts (\[ ] and Cmd+\[ ]) and draggable gap handles on the canvas.
* File management for the Design tab's canvases tree.
* Pin workspaces to the top of the sidebar.
* Collapsible date-group headers in the chat workspace list.
* Collapsible, state-persisted context cards on issues.
* Auto-link agent runs and their workspaces to tickets with live loading indicators.
* Right-click menu on Kanban board column headers.
* issue.assigned trigger plus per-property filters on issue triggers.
* Bare issue references in chat autolink to clickable chips.
* Press "I" to activate the eyedropper while a color picker is open.
* Filter to view archived chats per project via a Status filter.
* Per-account Figma token for pasting image fills.
* Tempo Inference now works from the CLI TUI.
### Improved
* "Custom Agents" is now just "Agents", with a full-page, sortable list and first-run empty state.
* Faster Kanban board load via virtualized swimlane rows.
* Smoother chat performance by pausing token re-renders for hidden tabs.
* Cron trigger schedules now show in your local timezone.
* Help menu slimmed to Documentation and Community.
### Fixed
* Slack DM replies to agents are no longer silently dropped on stale installs.
* Board and Kanban edits now update the UI instantly.
* Kanban cards drag correctly in scrolled, virtualized columns.
* Canvas comment popovers no longer duplicate or misplace in split view and on tab switch.
* Docs and issue bodies reflow instead of clipping in narrow/split view.
* Touch pan and pinch-zoom work on the mobile canvas share preview.
* Chat no longer shows synthetic "Request interrupted" bubbles when reloading history.
* Stuck chat loading states now clear when a session ends mid-stream.
* Tempo Inference is no longer shown as active without a plan or usable credits.
* Reduced workspace memory use by not keeping a full file-tree copy per visit.
This release centers on **Slack-connected agents**. Agents can now post to Slack as the Tempo bot across multiple workspaces, send direct messages, and keep a conversation going inside the original thread — with replies routed back to the right Tempo workspace. Slack triggers also handle private channels and file shares, and cron schedules display in your local timezone.
The **canvas** picks up a lot of design work: you can browse and edit a project's CSS variables, draw with Tailwind classes instead of inline styles, use Figma-style marquee selection, reorder layers with keyboard shortcuts, and manage canvas files from the Design tab. Several comment popover and split-view rendering issues are fixed as well.
**Issues and chat** get faster and more responsive — virtualized Kanban rows speed up board loads, board edits apply instantly, and hidden chat tabs no longer eat performance. You'll also find collapsible context cards, right-click column menus, autolinked issue references, and human-readable share URLs. Rounding things out are billing controls for per-model inference credits and a batch of fixes for chat loading states, doc reflow, and mobile canvas sharing.
**Paste Figma designs straight into the canvas as editable storyboards.**
### New
* Paste Figma designs as editable HTML storyboards.
* Find in Canvas: search text with Cmd/Ctrl+F.
* SVG shape draw tools with fill and stroke controls.
* @-mention tickets and docs in any chat surface.
* Set a custom System Prompt applied to every AI conversation.
* First-party Slack triggers for Custom Agents.
* Custom Agents can now choose a reasoning effort.
* Cmd+L attaches selected tickets to the issues AI chat as context.
* Cmd/Ctrl+A selects all visible tickets in a view.
* Right-click to edit issue properties in the list view.
* Custom AI actions in the Commit menu.
* Context-usage ring in the chat input.
* Redeem promo codes in Settings.
* New "PR Status" workspace sort.
### Improved
* Free tier now runs on GLM 5.2.
* Redesigned and polished public share pages.
* Sonnet 5 runs natively on Bedrock / Tempo Inference.
* Instant issue creation with optimistic card and rollback on failure.
* Issues tab opens noticeably faster.
* Double-click a question option to select and advance.
* Instant preview for pasted images and text on canvas.
* File/folder move and rename confirmations plus drag-and-drop polish.
* Queue and steer now work in side-panel chats (canvas, issues, docs, agents).
* Unified right-click context menus to the design-system look.
* Right-click Labels in issues is now a submenu.
* Failing-checks indicator added to workspace PR badges.
### Fixed
* Sub-agent output now nests inside the Agent card instead of splitting into two AI blocks.
* URLs in comments are now clickable.
* Comment pins stay in sync with canvas pan and zoom.
* Text drawn over dark backgrounds now picks a readable color.
* OpenCode chats bricked by a schema change are recovered.
* Remote compaction no longer 404s on Tempo Inference.
* "You're offline" toast clears once connectivity is confirmed.
* Escape cancels in-progress marquee selection.
* Cmd-Z inside style-panel inputs now routes to canvas undo.
This release leans heavily into the canvas and AI workflows. You can now paste Figma designs directly onto the canvas as editable HTML storyboards, search your canvas with **Find in Canvas** (Cmd/Ctrl+F), and draw SVG shapes with full fill and stroke controls. Pasted images and text preview instantly, and comment pins now track pan and zoom cleanly.
AI chat gets more contextual and capable: @-mention tickets and docs in any chat, set a custom **System Prompt** that applies to every conversation, and watch token usage with the new context-usage ring. Custom Agents can pick a reasoning effort and fire from first-party Slack triggers, and sub-agent output now stays neatly inside the Agent card.
Issues sees a speed and control pass — faster tab load, instant optimistic issue creation, Cmd/Ctrl+A to select all visible tickets, right-click property editing in the list view, and Cmd+L to attach selected tickets to the issues AI chat as context.
Elsewhere: the free tier moves to GLM 5.2, Sonnet 5 runs natively on Bedrock / Tempo Inference, public share pages got a redesign, and we fixed OpenCode chats that were bricked by a schema change along with remote compaction 404s.
**AI chat now supports Sonnet 5, with Tempo Inference falling back to 4.6.**
### New
* AI chat can now use the Sonnet 5 model.
* Open Settings with Cmd+, (Ctrl+, on Windows/Linux).
* Buy an in-app top-up (legacy \$50 / 250-prompt pack).
* Vim-style Ctrl-U / Ctrl-D half-page scrolling in focused chat.
* "Paste here" on the canvas backdrop pastes at the cursor.
* Live size pill shows dimensions while drawing an element or storyboard.
* New canvas dropdowns, avatars, and badges.
* Run your project's scripts from the Cmd+Shift+P command palette.
* canvas\_share MCP tool creates a share link with an auto-shown screenshot.
* Unread / streaming chat indicator now also shows on the org avatar.
### Improved
* Bulk create-from-issues: instant tab switch, all rows, loading state, and model picker.
* Slash command picker now fuzzy-matches instead of prefix-only.
* Free-tier request caps raised to 20/day and 60/month.
* Bundled Node toolchain acts as a dev server fallback when none is found.
### Fixed
* Double-clicking Create no longer produces duplicate tickets.
* Multi-edit AI turns show the net file diff instead of every intermediate state.
* Chat scrolls to the bottom when you send a message.
* Chat input is focused when you open or switch chats.
* Open ticket details no longer collapse when saved views load late.
* Board scroll is preserved on detail navigation, with no card flash on view/org switch.
* Long titles wrap in the new-issue modal instead of overflowing.
* Stale ancestor hover outline clears when drilling into a descendant.
* Pasting into an autosize storyboard no longer flashes on reload.
* Pasted image assets are written next to their real source file.
* Clip content row always shows, including on the storyboard root.
* Auto Layout child cleanup survives selection changes.
* Exit CLI button is now easier to find in the terminal.
* Unpushed count now reflects only the branch's own commits.
This release brings a new model choice to AI chat: **Sonnet 5** is now available, with Tempo Inference gracefully falling back to 4.6. Chat also gets nicer navigation — vim-style Ctrl-U / Ctrl-D half-page scrolling, a fuzzy-matching slash command picker, and more reliable focus and scroll behavior when you open, switch, or send in a chat.
On the canvas, you can now paste directly where your cursor is with "Paste here," see a live size pill while drawing, and work with new dropdowns, avatars, and badges. A new `canvas_share` MCP tool creates a share link and shows a screenshot automatically.
Issues and boards are steadier: creating no longer duplicates on a double-click, open ticket details stay open when saved views load late, board scroll is preserved during navigation, and long titles wrap cleanly in the new-issue modal.
Rounding things out, you can open Settings with Cmd+, run project scripts from the command palette, buy an in-app top-up, and enjoy raised free-tier caps (20/day, 60/month). Bulk create-from-issues is faster with instant tab switching and a model picker.
**Universal Cmd+P search now spans every artifact in your workspace.**
### New
* Cmd+P universal search across all artifacts.
* @mention teammates in issues and docs.
* Assign multiple people to an issue, including from the create modal.
* Mint share links on view\.tempo.new.
* Click chat context chips to open the artifact they reference.
* Canvas Playground: a hands-on tour of every canvas action.
* Create a workspace per multi-selected issue.
* Bug reports support optional screen recording and file/image attachments.
* Git GUI controls in the workspace Changes tab.
* Shift + corner-drag locks aspect ratio while resizing.
* Sidebar chat adds an effort picker and OpenCode models.
### Improved
* Revamped issue ticket page.
* Redesigned what's-new changelog modal.
* Header buttons now show tooltips.
* "Sort by Stage" follows your org's custom pipeline.
* Unified Open modal and "+" new-tab dropdown.
* Canvas "Frame" is now called "Div".
### Fixed
* AI-chat artifact cards are clickable in side chats.
* Attached images no longer vanish from chat bubbles.
* Sidebar chat list no longer jitters while streaming.
* To-do (task list) bodies now save when creating a ticket.
* Kanban board stays scoped to the active org when switching.
* Activity feed shows custom stage labels instead of raw ids.
* External file pills reveal in your OS instead of opening a broken tab.
* Expired sessions are handled gracefully.
The headline this release is **universal search**: hit `Cmd+P` to jump to any artifact—docs, issues, canvases, and chats—from one place.
Issues get a lot of attention. The ticket page has been revamped, you can now assign multiple people (including straight from the create modal), `@mention` teammates in issues and docs, and spin up a dedicated workspace for each selected issue. "Sort by Stage" now respects your org's custom pipeline, and the activity feed shows your custom stage labels instead of raw ids.
Canvas and chat both feel more connected. Click context chips in chat to open what they reference, lock aspect ratio with Shift + corner-drag, and explore the new Canvas Playground tour. Sidebar chat adds an effort picker and OpenCode models, while the redesigned what's-new modal makes catching up on releases easier.
Plenty of fixes round things out: attached images stay put in chat bubbles, the sidebar chat list no longer jitters while streaming, to-do bodies save when creating tickets, the kanban board stays scoped to the active org, and expired sessions are handled more gracefully.
**Canvas comments arrive with pins, threads, @-mentions, and resolve/reopen.**
### New
* Canvas comments: pins, threaded replies, a comments sidebar, @-mentions, and resolve/reopen.
* Restore an AI chat to an earlier point in the conversation.
* Per-canvas background color on the Design tab.
* Sidebar zoom control on the canvas.
* Arrow-key nudging for absolute elements and storyboards.
* Gap (equal-spacing) snapping while arranging elements.
* Edit styles across multiple selected elements at once.
* Style panel shows "Mixed" when a multi-selection disagrees.
* Delete issue tickets with a confirmation dialog.
* List view nests stage groups under their parent status.
* Pick Max effort on existing Claude chats.
* Run Claude /review directly in chat instead of the CLI terminal.
* "+" picker to link Docs, Canvases, and Issues in right-panel chat.
* Add-workspace button in the issues/docs chat picker.
* Empty states for the Design sidebar, Issues views, and Docs.
* Connection outages now show a clear, persistent notice instead of a blank screen.
### Improved
* Right-click now shows the system spell-check correction menu.
* Slash-command menu is keyboard-navigable with a reachable Show-more.
* Recent artifacts show clearer visual hierarchy and origin labels.
* Restyled What's New modal with cleaner headings and lighter chrome.
* Recent sort now bumps when you send, not just when a turn ends.
### Fixed
* Shared canvases now load with their styling instead of appearing unstyled.
* Doc editor reliably renders its body on first open.
* Links are now clickable in docs and issues editors.
* Open a linked doc directly in the Docs tab from an issue.
* Docs search auto-expands a parent when only a child matches.
* Comment mention picker no longer leaks raw emails; pasted-image thumbnails show in the collapsed composer.
* Kanban drag-and-drop is more reliable, with smoother large boards.
* AI-generated issue titles no longer show raw HTML entities.
* Color picker keeps alpha and emits correct values on React Native surfaces.
* Wrap in Frame / Auto Layout now auto-selects the new wrapper, plus assorted storyboard and frame-sizing fixes.
The headline of 0.0.77 is **canvas comments**. You can now drop pins on a canvas, reply in threads, @-mention teammates, and resolve or reopen discussions from a dedicated sidebar — keeping feedback attached to the work itself.
The canvas also gets more precise: per-canvas background colors, a sidebar zoom control, arrow-key nudging for absolute elements and storyboards, and equal-spacing (gap) snapping. The style panel now supports editing multiple selected elements at once and shows **Mixed** when their values disagree.
AI chat picks up the ability to **restore to an earlier point** in a conversation, choose **Max effort** on existing Claude chats, and run `/review` inline instead of in the CLI terminal. Issues add ticket deletion with confirmation and a clearer list view that nests stage groups under their parent status.
We also fixed a batch of rough edges: shared canvases now keep their styling, the doc editor reliably renders, links are clickable in docs and issues, kanban drag-and-drop is more dependable, and connection outages surface a clear notice rather than a blank screen.
**Chat is significantly faster, with big drops in unnecessary re-renders across the app.**
### New
* Slash commands in OpenCode: dropdown, dispatch, and terminal launcher.
* Attach images and files directly on the Generate screen.
* Drag-and-drop and rename folders in the canvas list.
### Improved
* Chat messages re-render far less during streaming for smoother typing and scrolling.
* In-app Documentation links now point to docs.tempo.new.
* The "What's New" changelog modal and per-version pages now load.
### Fixed
* Kanban "is not" filters no longer hide the board's other columns.
* PR badge tooltip now correctly reads "hover to sync".
* Resolved a duplicate-React issue in the canvas host for better stability.
This release focuses heavily on **chat performance**. By stabilizing callbacks and memoizing key components like the message bubbles, rich-text input, and Markdown viewer, we cut a large share of redundant re-renders during streaming. We also fixed an idle-commit issue in recent views, so the app stays responsive even when you're not actively typing.
On the feature side, **OpenCode now supports slash commands** end-to-end, with a dropdown, dispatch, and a terminal launcher. The **Generate screen accepts image and file attachments**, and the **canvas list** gains folder drag-and-drop along with rename.
Several fixes round things out: Kanban "is not" filters keep the rest of your columns visible, the PR badge tooltip wording is corrected, and the in-app changelog ("What's New") now loads properly. Documentation links also now point to docs.tempo.new.
**You can now edit Expo / React Native styles directly from the canvas.**
### New
* Edit Expo / React Native component styles right from the design canvas.
* Collapsible properties panel and pop-out for embedded issue and doc views.
* "What's new" changelog modal appears after an app update.
### Improved
* Polished the right-panel Changes and Context tabs.
* Restyled terminal command cards in chat with a clearer header and outline.
* Faster workspace rendering when selecting and switching views.
### Fixed
* Dev server no longer gets stuck in a restart loop on render errors or stuck loading.
* New terminals now open in the active split instead of creating orphaned tabs.
* Status-only issue updates now default to your org's first visible stage.
* Issue IDs are resolved correctly when working through the issues integration.
* Edit Expo styles in split-view canvas, with more reliable Metro start detection.
* Tutorial now falls back to a bundled version offline, with clearer clone errors.
* More reliable .tempo file writes on Windows (fixes EPERM errors).
* Removed the workspace breadcrumb from the left collapse pill and balanced its spacing.
* Post-respawn AI turns are now billed correctly.
# Insiders updates
Source: https://docs.tempo.new/changelog/insiders
New features, improvements, and fixes in Tempo Insiders builds.
Tempo Insiders builds ship ahead of the stable channel, so these notes are incremental: each entry covers only what landed since the previous Insiders build. Every stable release bundles the builds that preceded it — see [Product updates](/changelog) for the merged notes.
**Introduces per-person ChatGPT plugin update packages for smoother updates.**
### New
* Per-person ChatGPT plugin update zips are now generated for delivering updates.
This release adds support for building per-person ChatGPT plugin update packages, laying the groundwork for delivering plugin updates tailored to individual users.
Most other work in this build was internal maintenance and isn't user-facing.
**Tempo adds a ChatGPT sidebar and GitHub-backed cloud canvases.**
### New
* New Tempo ChatGPT sidebar for quick AI chat alongside your work.
* GitHub-backed cloud canvases keep your canvas work synced.
### Improved
* Agent run cards now appear promptly in AI chat.
* Branch selection is keyboard accessible and shows a loading state.
* Selected component source is excluded from diagnostic reports.
### Fixed
* Archived workspaces are restored for agent follow-ups, and workspaces won't auto-archive with queued messages.
* MCP repository discovery and organization selection now work correctly.
* Issues branch presence now reads only from linked branches.
This release centers on two new capabilities. The **Tempo ChatGPT sidebar** lets you chat with AI without leaving your current view, and **GitHub-backed cloud canvases** keep your canvas work backed and in sync.
Agents are more reliable for ongoing work: archived workspaces are automatically restored when you send a follow-up, and workspaces no longer auto-archive while messages are still queued. MCP repository discovery and organization selection have also been fixed.
AI chat now surfaces agent run cards promptly, and branch selection is fully keyboard accessible with a clear loading state. In Issues, branch presence checks are now scoped to linked branches for more accurate results.
**You can now open canvases side-by-side with the active chat.**
### New
* Open a canvas beside the active chat to work on both at once.
### Fixed
* Canvas now loads workspace registry credentials needed for SDK updates.
* Startup failures are no longer hidden during warm launches.
This release makes it easier to work across surfaces without losing context. You can now open a canvas **beside** the active chat, so you can reference a conversation while editing your canvas instead of switching back and forth.
We also fixed a couple of canvas reliability issues. Canvas now correctly loads workspace registry credentials so SDK updates can apply, and startup failures that occurred during warm launches are surfaced properly instead of being silently swallowed.
**Codex Ultrafast speed arrives alongside steadier chat and workspace fixes.**
### New
* Added subscription-gated Codex Ultrafast speed.
* AI tool writes now show as "\'s Claude Agent" in comments and issue activity.
* Home tab is now closable, with equal-width tabs for bulk close.
### Improved
* Same-org doc and issue links now open in Tempo on a plain click.
* Faster, more reliable workspace startup on macOS with out-of-process file watching.
### Fixed
* Chat shows "Awaiting Response" while a Codex async question waits.
* Reauth banner now appears when an OAuth session expires.
* Claude HIPAA compatibility is remembered per connection.
* Scheduled agent runs missed while the owner's machine is off now catch up.
* Archiving a workspace now reliably succeeds.
* Opening a doc no longer switches you to another chat.
* Background-work indicator stays visible on unread sidebar rows.
This release adds **Codex Ultrafast**, a new subscription-gated speed for faster AI responses. AI tool writes are now clearly attributed as "\'s Claude Agent" across comments and issue activity, so it's easier to see where automated changes came from.
Chat gets steadier: you'll now see an "Awaiting Response" state while a Codex async question is pending, a Reauth banner when your OAuth session expires, and Claude HIPAA compatibility remembered per connection. Same-org doc and issue links also open directly in Tempo on a plain click.
Workspaces and navigation are more predictable too — archiving now reliably succeeds, opening a doc no longer yanks you into a different chat, the Home tab is closable, and the sidebar keeps its background-work indicator on unread rows. On macOS, file watching now runs out of process for faster, more reliable startup. Scheduled agent runs missed while the owner's machine was off will now catch up.
**Sonnet 5.5 is now available in the AI chat model selector.**
### New
* Added Sonnet 5.5 to the chat model selector.
### Fixed
* Chat draft resets no longer crash the canvas.
* Canvas now recovers stale reads of selected component props.
This release adds **Sonnet 5.5** as a selectable model in AI chat, giving you another option when picking the model behind your conversations.
We also fixed two stability issues on the canvas. Resetting a chat draft no longer causes the canvas to crash, and the canvas now correctly recovers when reading properties from a selected component that had gone stale.
**Adds GPT-6.1 Sol plus Cursor CLI and Grok Build connectors to AI chat.**
### New
* Added GPT-6.1 Sol (Codex 0.159.0) to AI chat.
* Added a bundled Cursor CLI connector.
* Added a Grok Build connector.
* Browser tabs now keep running when you switch workspaces or chats.
### Improved
* Faster app performance from Vite 8 and updated Rust tooling.
* Bug reports now capture prop-type lookups and TypeScript server details.
### Fixed
* Canvas keeps tabs and viewport after moving folders.
* Large chats now get enough time to reopen reliably.
This release focuses on AI chat, with three new connectors. GPT-6.1 Sol arrives alongside Codex 0.159.0, and you can now wire up the bundled Cursor CLI and Grok Build connectors to bring more models and tools into your chats.
The app itself should feel snappier thanks to a move to Vite 8 and updated Rust tooling. Browser tabs also stay alive as you switch between workspaces and chats, so background pages no longer reload every time you move around.
Several fixes round things out: Canvas now preserves your tabs and viewport after folder moves, large chats get enough time to reopen without failing, and bug reports carry richer diagnostics to speed up support.
**Add Figma-style token libraries with source editing to the style panel.**
### New
* Style panel gains Figma-style token libraries and source editing.
* Visual review adds a light mode with a persisted theme toggle.
### Improved
* Bounded startup fetches and persisted diagnostics for more reliable workspace launches.
### Fixed
* Inserted asset components now stay components, with full prop types in shipped builds.
* Existing project canvases now recover correctly, with clearer setup guidance.
The headline of this release is the new **token libraries** in the style panel. You can now manage design tokens in a Figma-style workflow and edit their source directly, keeping styles consistent across your canvas.
Visual review picks up a proper **light mode**, and your theme choice now persists between sessions so you land in the look you prefer every time.
On the fixes side, inserted asset components stay as components instead of flattening, and shipped builds correctly see full prop types. Existing project canvases now recover reliably, with clearer setup guidance along the way.
Workspace startup is also steadier: startup fetches are now bounded and diagnostics are persisted, reducing hangs and making launch issues easier to trace.
**The Canvas tab is now called Design, alongside a wave of canvas and chat fixes.**
### New
* Renamed the Canvas tab to Design.
* Set default model and reasoning-effort preferences for chat.
### Improved
* Side chat now uses the full width on wider screens.
* Inline chat cards stay readable at narrow panel widths.
* Exact personal skill shortcuts now take priority in chat.
* Command cards hide noisy Windows shell wrappers.
* Project scripts in settings are grouped by scope.
### Fixed
* Props panel shows live values for code-controlled props.
* Sidebar selection is preserved when switching workspace tabs.
* Failed screenshot captures now recover and expired ones are canceled.
* Canvas surfaces install connectivity errors and keeps crash diagnostics.
* TypeScript server starts in packaged builds and reports failures on the canvas.
* Same-frame autosize changes commit together to avoid flicker.
* Detached canvas state is isolated so workspaces no longer interfere.
The **Canvas** tab is now **Design**, reflecting how the workspace is actually used. Chat gains configurable default model and reasoning-effort preferences, so you no longer have to pick every time.
Canvas got a lot of attention this release: the side chat now stretches across wider screens, the props panel reflects live values for code-controlled props, and sidebar selection sticks when you move between workspace tabs. Screenshot capture is more resilient, recovering failed windows and canceling expired shots, and the TypeScript server now starts correctly in packaged builds and surfaces failures where you can see them.
Chat interactions are cleaner too—inline cards stay readable in narrow panels, exact personal skill shortcuts win over fuzzy matches, and command cards hide noisy Windows shell wrappers. Workspace handling is more reliable, with detached canvas state properly isolated and project scripts grouped by scope in settings.
**Canvas Files now use the same file browser as your workspace.**
### Improved
* Canvas Files are unified with the workspace file browser for one consistent view.
* Visual review keeps your view settings when switching between storyboards.
* Removed the Home page for a more direct workspace entry.
### Fixed
* Copying Markdown from Chat no longer carries over theme colours.
* Desktop builds now include the TypeScript language server so code intelligence works in packaged apps.
This release focuses on making files feel consistent across Tempo. Canvas Files now share the same browser as the rest of your workspace, so you no longer switch between two different ways of finding the same content.
We also cleaned up a few rough edges. Copying Markdown out of Chat now produces plain text without leftover theme colours, and visual review remembers your view settings as you move between storyboards.
On the desktop side, packaged builds ship the TypeScript language server and prop-types plugin, so code intelligence works reliably in installed apps. We also removed the Home page to get you into your workspace faster.
**Unified tabs with detachable windows plus new AI chat skills and component controls.**
### New
* Unified tabs across views with detachable windows.
* Personal skills now work across Tempo chat providers.
* Add component prop controls and insertable asset variants.
* Component-file and shared Tempo controls with clear authoring defaults.
* MCP: add Tempo first and sign in on first use.
### Improved
* Offline agent queues are explained and pending runs can be cancelled.
* Chat message timestamps appear beside actions on hover.
* Chat now extracts PDF text for GLM attachments.
* Removed the auto-scaffolded template canvas.
### Fixed
* Command chips stay inline and placeholders stay contained in AI chat.
* Web onboarding and first-open recovery fixed for shared canvases.
This release reworks navigation with **unified tabs across every view** and support for **detachable windows**, so you can pull work into its own window and arrange your workspace the way you want.
AI chat gets a solid round of upgrades: **personal skills** now work across all Tempo chat providers, **PDF text is extracted for GLM attachments**, command chips stay inline, and message timestamps show beside actions on hover. MCP setup is simpler too, adding Tempo first and prompting sign-in only on first use.
On the canvas, new **component prop controls**, **insertable asset variants**, and shared Tempo controls give you clearer defaults when authoring components. Agent workflows are easier to follow with clearer offline queue explanations and the ability to cancel pending runs.
We also fixed web onboarding and first-open recovery for shared canvases, and removed the auto-scaffolded template canvas for a cleaner start.
**Canvas now supports native SVG gradient fills.**
### New
* Canvas: add native SVG gradient fills.
### Improved
* Agents: the empty "nothing running" state now shows an agent briefing instead of a dead end.
### Fixed
* Sharing: the share popover progress bar now stays inside its container.
This release brings gradient fills to the canvas. You can now apply native SVG gradients to shapes, giving your designs more depth and range without workarounds.
The agents experience also gets friendlier: instead of hitting a dead-end "nothing running" screen, you now see an agent briefing that helps you get started.
We also fixed a small sharing glitch where the progress bar could spill outside the share popover.
**Free AI inference now runs on GPT-6 Luna, with fixes across chat and visual review.**
### New
* Free inference now uses the GPT-6 Luna model.
* Visual review shows the original snapshot for outdated comments.
### Improved
* New visual review comment inputs are focused automatically.
### Fixed
* Images are validated for model support before a chat message is sent.
* Selected slash commands can now be removed in chat.
* OpenCode reasoning no longer leaks into chat reply text.
* Canvases now open in the correct branch workspace.
* Pagination controls stay put in visual review.
Free AI usage now runs on the **GPT-6 Luna** model. Alongside the model update, chat gets several reliability fixes: images are checked for model support before you send them, selected slash commands can now be removed, and OpenCode's internal reasoning no longer appears in reply text.
Visual review picks up two improvements. Outdated comments now display the original snapshot they were made against, the comment input focuses automatically when you start a new comment, and the pagination controls no longer shift as you move through changes.
On the canvas side, opening a canvas now correctly respects your branch workspace, so you land in the right place every time.
**New AI models (GPT-6 Luna, Sol, and Opus 5.5) land alongside Canvas Variables in production.**
### New
* Added GPT-6 Luna and Sol models, with free inference still available.
* Added support for the Opus 5.5 model.
* Variables are now enabled in production Canvas builds.
* Added a command to generate live product-flow canvases.
### Fixed
* The Share popover now applies only to the surface you clicked.
* Canvas error overlays now clear correctly after recovery.
This release expands model choice across Tempo. **GPT-6 Luna** and **GPT-6 Sol** are now available, and free inference is still preserved so you can keep working without extra cost. Support for **Opus 5.5** has also been added.
Canvas gets a notable upgrade: **Variables are now enabled in production builds**, so you can use them outside of preview environments. A new command also lets you generate **live product-flow canvases** directly.
We also fixed a few rough edges. The **Share popover** now scopes to the exact surface you clicked instead of leaking across elements, and Canvas **error overlays** now refresh properly once an issue is resolved.
**Grok 4.7 is now available as a chat model.**
### New
* Added Grok 4.7 to the available AI chat models.
### Fixed
* Archived agent chats now stay archived.
* Fresh Claude sessions now retry when they start up silently.
* Icon search now keeps focus when used in context menus.
* Hidden chat canvases are now properly deactivated.
* Large and scanned PRD attachments from Slack now load correctly.
* Interrupted app dependency installs now recover automatically.
This release adds **Grok 4.7** to the list of models you can pick in AI chat, giving you another option alongside the existing lineup.
We also cleaned up several chat and agent rough edges: archived chats now stay archived, and fresh Claude sessions retry automatically when they start up silently instead of leaving you stuck.
A handful of smaller fixes round things out — icon search keeps focus inside context menus, hidden chat canvases deactivate correctly, large or scanned PRD attachments from Slack load reliably, and interrupted app dependency installs recover on their own.
**Grok 4.6 joins the AI chat models alongside a wave of canvas fixes and light-mode readability improvements.**
### New
* Added Grok 4.6 to the OpenCode chat models.
* Rectangle corner radius is now editable on the canvas.
### Improved
* Better light-mode readability across editors and terminals.
* Layers panel component rows now use readable light-mode text.
* Updated bundled Claude, Codex, and OpenCode agents.
* Bug reports now include the focused chat session for better diagnostics.
### Fixed
* Agents now trigger PDF and Markdown attachments during Slack triage.
* Queued background agent runs now activate as expected.
* Gradient stop colors can now be edited by clicking them in the style panel.
* Canvas view is preserved when toggling sidebars.
* AI-mode Apply sessions are now isolated to prevent cross-session mixups.
* Fixed apply receipts and preserved chat layout on the canvas.
* Resolved canvas runtime regressions.
* Compacted document history during agent writes to keep docs responsive.
* Tempo now stays running through transient network errors.
This release centers on the canvas, with a batch of fixes and small additions. You can now edit rectangle corner radius directly, tweak gradient stop colors by clicking them, and your view stays put when toggling sidebars. Several runtime regressions and apply-receipt issues have also been cleared up.
AI chat gains **Grok 4.6** in the OpenCode model list, and the bundled Claude, Codex, and OpenCode agents have been updated. Agents also handle more work reliably: queued background runs now activate correctly, and Slack triage can read PDF and Markdown attachments.
On the polish side, light mode is easier to read across editors, terminals, and layers-panel rows. Bug reports now capture the focused chat session for faster support, and Tempo holds steady through transient network hiccups instead of crashing.
**Canvas gets more reliable with fixes for AI drafts, selection, and error recovery.**
### Improved
* Visual review supports mobile layouts and additional capture viewports.
* Bug reports include process memory attribution for faster diagnosis.
### Fixed
* Canvas now preserves AI mode draft identity and text.
* Storyboards recover after canvas render errors.
* Selection outlines align correctly at high zoom.
* Active text selection takes priority through overlapping elements.
* Chat shows clean Codex commands.
* Chat viewport stays pinned after small content growth.
* Chat input overflow controls stay in sync.
* Visual review approvals are now isolated per pull request.
This release focuses on making **Canvas** steadier day to day. AI mode now keeps a draft's identity and text intact, storyboards recover after render errors, selection outlines line up at high zoom, and clicking through overlapping elements reliably targets active text.
**Chat** also gets a round of polish: Codex commands render cleanly, the viewport stays pinned when content grows slightly, and input overflow controls stay in sync.
On the review and diagnostics side, visual review now handles mobile layouts and more capture viewports, and approvals are isolated per pull request. Bug reports now include process memory attribution to help track down issues faster.
**Canvas gets a pixel grid at high zoom plus several editing and rendering fixes.**
### New
* Canvas shows a pixel grid at 400% zoom.
### Improved
* Chat composer toolbar collapses one control at a time in narrow layouts.
* Shared storyboards load images before HTML for faster previews.
### Fixed
* Drawn SVG shapes no longer clip their overflow on canvas.
* Side handles now preserve aspect ratio when holding Shift.
* Drop outlines stay thin when zoomed in.
* Fill sizing in the style panel respects parent flow again.
* Visual review previews no longer show corner halos.
* Workspace deletion is guarded and audit logs are persisted.
This release focuses on the canvas editing experience. A new pixel grid appears at 400% zoom to help with fine-grained alignment, and several rendering issues are fixed: drawn SVG shapes keep their overflow visible, drop outlines stay thin at high zoom, and side handles preserve aspect ratio when you hold Shift. The style panel's Fill sizing now correctly follows parent flow.
The chat composer is more resilient in tight layouts, collapsing toolbar controls one at a time instead of all at once. Shared storyboards feel faster because images load ahead of HTML.
On the platform side, workspace lifecycle deletion is now guarded and audit logs are reliably persisted. Visual review previews also drop their distracting corner halos.
**New Claude users now default to Opus 5 during onboarding.**
### Improved
* Funding errors in AI chat now show a Codex login button.
### Fixed
* New Claude users now default to Opus 5 instead of Opus 4.8.
* Sharing no longer proceeds when the underlying commit fails.
* Agent runs no longer complete prematurely with a stricter completion guard.
* Binary resolution now validates executable files before use.
This release focuses on smoothing out the AI and agent experience. New Claude users are now defaulted to **Opus 5** during onboarding, so you get the latest model without changing settings. When AI chat hits a funding error, you'll now see a direct **Codex login** button to resolve it faster.
We also tightened up reliability around agents and sharing. Agent runs use a stricter completion guard to avoid finishing early, and sharing will now stop cleanly if the underlying commit fails rather than leaving things in a partial state. Binary resolution additionally validates executable files before running them.
**Canvas AI mode is now explicit with reliable draft application.**
### New
* Canvas AI mode is now explicit, with more reliable draft application.
* Lock layers persistently on the canvas.
* Chat transcript now shows responsive message timestamps.
* Faster storyboard screenshots via a direct-render capture lane.
### Improved
* Faster share navigation and creation on the canvas.
* Edit inline and button text without disrupting canvas navigation or sibling layers.
* Font picker now tags your project's own fonts, with JetBrains Mono unified across Tempo.
### Fixed
* Selection now passes through empty toast containers and stays put after Interact mode.
* New views stay selectable and stale storyboard errors clear after recovery.
* Pan and zoom now work over component interact iframes in packaged builds.
* Visual review no longer loops on sign-in when approving, and shows remaining render errors.
* Chat no longer loops on dead sessions and correctly resumes relocated transcripts.
* Workspace titles are preserved during slow saves, with background naming failures silenced.
* Windows desktop builds now ship complete npm and native Node.
This release centers on the **canvas**, led by a clearer AI workflow. AI mode is now explicit, and applying generated drafts is more reliable end to end. You can also lock layers persistently, and storyboard screenshots capture faster through a new direct-render lane.
Editing on the canvas is steadier: inline text and bare button labels can be changed without breaking navigation or nearby layers, selection passes through empty toast containers, and new views stay selectable after Interact mode. Share navigation and creation are noticeably faster.
**Chat** gains responsive message timestamps and several stability fixes, including an end to the dead-session resume loop and correct handling of relocated or refused transcripts. On the **platform** side, font handling is more consistent (JetBrains Mono unified, project fonts tagged in the picker), workspace titles survive slow saves, and Windows desktop builds now ship complete npm and native Node.
**Canvas gets an explicit AI mode with reliable draft application, plus persistent layer locking.**
### New
* Canvas AI mode is now explicit, and applying drafts is more reliable.
* Lock layers persistently on the canvas.
* Chat transcript now shows responsive message timestamps.
* Faster storyboard screenshots via a direct-render capture lane.
### Improved
* Canvas share navigation and creation are faster.
* Font picker previews are isolated and tag your project's own fonts.
* JetBrains Mono is now unified across Tempo.
### Fixed
* Canvas navigation and pan/zoom stay responsive during inline text editing and over interact iframes.
* Editing a button label no longer changes sibling markup.
* New views stay selectable after leaving Interact mode.
* Text boxes and shapes no longer accept nested drops.
* Sibling layers are preserved next to detached Select content.
* Screenshots realign after autosizing and captures restore after eviction.
* Route snapshots stay on the current page and stale storyboard errors clear after recovery.
* Visual review no longer loops on sign-in when approving, and surfaces remaining render errors.
* Chat stops the dead-session resume loop and handles relocated or refused transcripts correctly.
* Slow workspace titles are preserved and background naming failures no longer surface.
* Windows desktop builds now ship complete npm and native Node.
Canvas is the focus of this release. **AI mode is now explicit**, so it's clearer when you're editing with AI, and applying generated drafts is far more reliable. You can also now **lock layers persistently** to avoid accidental edits.
A lot of canvas editing rough edges are gone: navigation and pan/zoom stay responsive while editing text inline or working over interact iframes, editing a button label no longer disturbs sibling elements, new views stay selectable after Interact mode, and text boxes and shapes no longer swallow dropped layers. Screenshots and captures are steadier too, realigning after autosizing and restoring after eviction, and storyboard captures render faster.
Elsewhere, chat gains responsive message timestamps and stops looping on dead or relocated sessions. Font handling improves with isolated previews, project-font tagging in the picker, and unified JetBrains Mono. On the platform side, Windows desktop builds now ship complete npm and native Node, and workspace titles are preserved even when naming is slow.
**Visual Review launches with onboarding, a published CLI, and PR diff review.**
### New
* Visual Review: onboarding flow with doctor, init, and setup status checks.
* Visual Review CLI (@tempo-ai/visual-review) is now published.
* Visual Review can link PRs and surface visual diffs for review.
* Google Fonts in the style panel font picker, with an AI-mode install handoff.
* Canvas supports dropping multiple HTML files at once.
* Secondary chat tabs can now live inside a root chat's tab set.
* Codex adds the GPT-6 Astra model with a max effort setting.
### Improved
* Projection surface renders live canvas pixels on demand.
* Cached storyboard captures show while the devserver is still booting.
### Fixed
* Space+drag on a storyboard header now pans instead of moving the board.
* Codex no longer double-renders your images when a thread reloads.
* Canvas setup now works for empty projects.
* Two canvases on one host no longer deadlock projection startup.
* Canvas host install failures now keep the real error on screen.
* The app-exit notice in chat can now be dismissed.
This release centers on **Visual Review**. A new onboarding flow (doctor, init, and setup status checks) gets you started, the `@tempo-ai/visual-review` CLI is now published, and you can link PRs and review visual diffs directly — including clearer diff highlighting and changed-card previews. A getting-started guide is available to walk through the workflow.
**Canvas** gets several upgrades: the projection surface now renders live canvas pixels on demand, cached storyboard captures paint while the devserver boots, and you can drop multiple HTML files at once. A batch of fixes make canvas more reliable — Space+drag on storyboard headers pans correctly, empty projects set up properly, two canvases on one host no longer deadlock, and host install failures surface the real cause.
On the **Chat and Agents** side, you can now open secondary chat tabs inside a root chat's tab set, Codex adds the GPT-6 Astra model with a max effort option, and system prompts are frozen per provider session so preserved thinking stays intact. The style panel also gains Google Fonts with an AI-assisted install handoff.
**Chat now supports secondary tabs inside a root chat's tab set.**
### New
* Open secondary chat tabs inside a root chat's tab set.
* Visual review adds green diff highlights, single-shot changed cards, and real harness masks.
### Improved
* Visual review now links PRs and surfaces tiny diffs.
* AI chat freezes the system prompt per provider session so thinking is preserved.
### Fixed
* Canvas now sets up correctly for empty projects.
* Two canvases on one host no longer deadlock projection startup.
* Canvas shows the real cause on screen when a host install fails.
* Frame projection recovery requests now work correctly.
* Windows-on-ARM is detected correctly for emulated x64.
This release centers on **Chat** and **Canvas**. You can now open secondary chat tabs inside a root chat's tab set, keeping related conversations grouped in one place. AI chat also freezes the system prompt per provider session, so preserved thinking stays intact across a session.
Visual review gets a round of improvements: green diff highlighting, single-shot changed cards, real harness masks, PR linking, and better handling of tiny diffs.
Canvas is more reliable too. Empty projects now set up correctly, two canvases sharing a host no longer deadlock projection startup, host install failures surface the real cause on screen, and frame projection recovery requests work as expected. On the platform side, Windows-on-ARM is now detected correctly even when running emulated x64.
**Canvas gets six interaction fixes plus faster read-only viewing.**
### Improved
* Read-only canvas viewing is now lighter and more responsive.
* Chat now keeps your scroll position when messages update.
* AI chat streams tool progress as you work and follows the CLI's todo-tool default.
### Fixed
* Fixed six canvas interaction bugs and added a gesture flight recorder for diagnostics.
* Sidebar now uses a single Active/Archived filter; archiving a workspace archives its chats too.
* The app no longer prompts on certificate errors from embedded subframes.
This release focuses on the **canvas**, with six interaction fixes and a new gesture flight recorder to make hard-to-reproduce issues easier to track down. Read-only viewing is now capture-free, so panning and inspecting boards without editing feels lighter.
**Chat** gets steadier: your scroll position is preserved as messages update, tool progress streams in while the assistant works, and the todo tool now follows the CLI default instead of being overridden.
On the **workspace** side, the sidebar collapses to a single Active/Archived filter, and archiving a workspace now archives all of its chats in one step. We also stopped the desktop app from prompting on certificate errors that come from embedded subframes rather than the page you're actually on.
**Tempo launches a hosted, read-only MCP server so external tools can connect to your workspace.**
### New
* Hosted read-only MCP server for connecting external tools to your workspace.
* Added Claude Fable 5.1 to the model picker; Fable 5 has been retired.
### Improved
* MCP hosted server now lives at mcp.tempo.new.
* In-chat Cmd+F now highlights, counts, and navigates matches in one pass.
* Canvas interact mode now activates immediately when selected.
* Issue lifecycle reports support server-side state filtering and stage events.
* Desktop app now has Chrome-parity auth and better site compatibility for embedded web content.
### Fixed
* Error toasts no longer fill the screen with raw git output.
* Style panel aspect ratio now correctly drives element height.
* Restored the todo panel and CLI trust prompt in AI chat.
* Claude CLI trust prompt dismissal is now consistent.
* Bounded queued AI chat payloads to keep diagnostics manageable.
The headline of this release is a **hosted, read-only MCP server**, letting external tools connect to your Tempo workspace. The server now lives at `mcp.tempo.new`, and issue lifecycle reports gained server-side state filtering and stage events for richer reporting.
On the **AI chat** side, in-chat `Cmd+F` now highlights, counts, and navigates matches in a single display index, and we restored the todo panel and CLI trust prompt. We also added **Claude Fable 5.1** to the model picker and retired Fable 5.
Canvas users get a snappier **interact mode** that activates immediately, plus a fix so the style panel's aspect ratio properly drives height. The desktop app now handles auth and embedded sites more like Chrome, and error toasts no longer flood the screen with raw command output.
**The visual review portal gains full commenting and more reliable verdicts.**
### New
* Full comment support in the visual review portal, matching the main app.
* Baselines now publish from every branch push, not just main.
### Improved
* The browser tab is now named after the diff you have open.
### Fixed
* Review verdicts no longer get lost when re-authenticating mid-session.
* The root context menu now opens on storyboard headers and empty frames.
This release centers on the **visual review portal**. You can now leave and read comments in the portal with the same functionality as the main app, so review conversations no longer have to move elsewhere.
Baselines are now published on every branch push, making it easier to compare work in progress across branches instead of only against main. Open diffs also name the browser tab after the diff itself, so juggling multiple review tabs is less confusing.
On the reliability side, verdicts you submit now survive the sign-in window instead of being dropped, and the canvas root context menu opens correctly on storyboard headers and empty frames.
**Canvas gains commit-aware preview publishing with branch-live share links.**
### New
* Publish commit-aware canvas previews and share branch-live links.
* Canvas previews now publish commit statuses via the Tempo Labs AI GitHub App.
### Improved
* Header Play/Commit split buttons use a clearer segmented neutral-fill style.
* Windows login now uses native controls.
* Windows on ARM ships and runs native arm64 binaries.
### Fixed
* Canvas error screen now follows your app theme.
* Agent turns that only return a promise are no longer marked done prematurely.
* Reloads no longer silently freeze from stray beforeunload guards.
* Canvas restores the projected head correctly after receiver replacement.
The headline of this release is **commit-aware preview publishing** on the canvas. You can now publish previews tied to specific commits and hand out branch-live share links, so reviewers always see the state that matches a given branch. Preview commit statuses are also reported back through the Tempo Labs AI GitHub App.
Windows users get meaningful improvements: login now uses native Windows controls, and Windows on ARM ships and selects native arm64 binaries for better performance. We also fixed an issue where lingering beforeunload guards could silently freeze reloads.
Several canvas fixes round things out, including an error screen that now respects your app theme and correct head projection after receiver replacement. On the agents side, turns that only return a promise are no longer marked complete before they actually finish.
**More reliable agent startup on Windows, plus faster canvas loading and steadier chat streaming.**
### Improved
* Agent startup is more resilient on Windows machines slowed by antivirus scanning.
* Canvas preloads center-area storyboards so boards open faster.
### Fixed
* Chat streaming no longer flickers when background side events fire.
* Workspaces that never fully materialized can now be removed, with automatic recovery retries.
This release focuses on reliability across a few core areas. Agent startup has been hardened for Windows setups where antivirus software slows process spawns, and a new diagnostic marker makes custom-key issues easier to track down.
On the canvas, center-area storyboards now preload, so opening and moving around large boards feels quicker. In AI chat, streaming responses stay stable — background side events no longer cause the streaming state to strobe or flicker.
We also cleaned up workspace handling: workspaces that never fully materialized can now be removed, and a retrying recovery pass helps get things back to a good state automatically.
**The app now recovers from renderer crashes instead of dying, and dead surfaces auto-reload.**
### New
* Preview and edit structural gestures directly in Canvas AI mode.
* Select mode in the chat sidebar with checkbox multi-select and a bulk-action bar.
* Single list-settings control for agents with a saveable default.
* Chromium auto-installs on your first canvas capture.
### Improved
* Light-mode polish for AI-mode chrome, now honouring your stored canvas backdrops.
* Cleaner invite-by-email popover with corrected send logic.
### Fixed
* A renderer crash no longer takes down the whole app.
* Dead renderers auto-reload instead of leaving a blank window.
* Chats open where you left off instead of jumping to the top.
* Search now surfaces canvases from the workspace you're actually in.
* Canvases linked by slug now preview and open correctly.
* Canvas interact spinner no longer hangs on load.
* Storyboard sizing and viewport feedback behave correctly.
* Agent run visibility now reflects true run status.
* Updates wait for an in-flight install stage instead of abandoning it.
* Remote control recovers from a machine identity reset instead of toasting endlessly.
* AI usage billing scans are bounded to their correct time windows.
This release is heavy on stability. A renderer crash no longer brings down the entire app, dead renderers now reload themselves, and previously silent main-process failures are surfaced instead of masked. Hidden surfaces also stop subscribing in the background, so agent runs report their status honestly.
Canvas gets meaningful additions: you can preview and edit structural gestures right inside AI mode, Chromium installs automatically on your first canvas capture, and AI-mode chrome now looks right in light mode while respecting your saved backdrops. Several canvas rough edges are gone too — the interact spinner no longer hangs, slug-linked canvases open and preview correctly, and search returns canvases from the workspace you're currently in.
Chat adds a select mode with multi-select checkboxes and a bulk-action bar, and chats now reopen where you left off. Agents get a single list-settings control with a saveable default. On the platform side, updates wait for in-flight installs to finish, remote control recovers cleanly from identity resets, invite-by-email is tidier, and AI usage billing scans stay within their intended windows.
**Canvas zoom shortcuts now work correctly across keyboard layouts.**
### Improved
* Chat title generation runs faster on a lighter model.
### Fixed
* Canvas zoom keyboard shortcuts now respect non-standard keyboard layouts.
* Portal card previews render cleanly with squared caps and properly contained captures.
* Dev server previews reconcile correctly after a prior execution.
This release focuses on **Canvas** polish and **Chat** responsiveness.
Canvas zoom shortcuts now behave consistently regardless of your keyboard layout, and portal card previews look cleaner with squared caps and captures that stay within their bounds.
In Chat, conversation titles are generated more quickly using a lighter model, so new threads get named without the wait. We also fixed dev server previews so they reconcile properly after a previous run.
**Canvas link handling and presentation reliability get several fixes.**
### Improved
* AI chat now caps retained tool results to keep long conversations stable.
### Fixed
* Canvas links with line suffixes now resolve correctly.
* Presenting a canvas that's loaded but not yet shown now falls back cleanly instead of stalling.
* Deleting top-level HTML storyboards and revealing route snapshots on the canvas now works reliably.
This release focuses on Canvas stability. Links that include line suffixes now resolve to the right target, and presenting a canvas that has loaded but not yet been shown falls back gracefully rather than getting stuck.
We also fixed issues with deleting top-level HTML storyboards and revealing route snapshots directly on the canvas.
In AI chat, cumulative tool results are now bounded, which keeps longer conversations responsive and reliable.
**Cloud-ready MCP lets canvas sharing work across every cloud agent with personal access tokens.**
### New
* Share canvases from any cloud agent using @tempo-ai/mcp personal access tokens and the universal CLI.
* Onboard brand-new accounts directly through the MCP login flow.
* Visual review approvals now run through org membership on the Tempo GitHub App.
### Improved
* Removed the spurious dev-server warning toast.
### Fixed
* Model-less Claude sends and resumes now inherit the session's model.
* Chat ends the parent turn before starting background work.
* Bug report bundles are capped to fit the 200 MB upload limit.
This release centers on making Tempo work everywhere your agents run. The cloud-ready `@tempo-ai/mcp` package adds personal access tokens and a universal CLI, so canvas sharing now works from any cloud agent, not just local setups. Brand-new accounts can also sign in and get set up straight through the MCP login flow.
Chat gets a couple of reliability fixes: model-less Claude sends and resumes now correctly inherit the session's model, and parent turns close out cleanly before background work kicks off.
We also tightened up a few rough edges—bug report bundles are now capped to stay under the 200 MB upload limit, visual review approvals are gated by your organization membership, and the stray dev-server warning toast is gone.
**Canvas gains code-framework authoring alongside per-device AI-provider keys and a standalone Tempo MCP server.**
### New
* Set per-device AI-provider API keys in Settings → Preferences → Providers.
* Snapshot routes as static HTML on Canvas.
* Generate AI-powered React snapshots for route storyboards.
* Author Svelte components on Canvas.
* Create a component from a selected element on Canvas.
* Pick frame-size presets while the Frame tool is armed.
* Drag and drop HTML files onto Canvas.
* Fork a chat from any message.
* @-mention an agent to run it with a task, without a ticket.
* Install the external @tempo/mcp server to expose Tempo tools elsewhere.
* Send canvas failure evidence straight to Fix with AI.
* New pricing page with a Team plan at \$200 for 5 seats.
### Improved
* Folder cards open the all-canvases modal, with New Canvas and sort in the header.
* Stages editing moved to Settings → Organization → Stages.
* Archived workspaces now sort by activity instead of last.
* Better asset library discovery across AI providers.
* Focused tab is preserved when switching workspaces.
### Fixed
* Symlinked files no longer open as blank.
* Codex title generation no longer prompts for your Keychain password on every spawn.
* Codex sends no longer silently downgrade to an unfundable BYOK route.
* Stopped recurring Windows Git credential prompts.
* Archived workspace transcripts stay in the right-panel chats.
* Approval questions now show the agent config they refer to.
* The 'Awaiting Response' pill is restored from on-disk transcripts.
* Global Back reaches tickets the Split board filters out.
* Save is reachable when a view's filters are all cleared.
* Optimistic issue edits work again after the projection change.
* Thin canvas elements are easier to select, and children stay selected after ungroup.
* Canvas keeps layout on background color change and empty text-box width.
* Archive completes even when the worktree is no longer a git repo.
* Fewer packaged-app crashes from main-process memory and network errors.
Canvas is the center of this release. You can now author across frameworks — Svelte components, AI-generated React snapshots, and static HTML route snapshots — plus drag in raw HTML files and create components straight from a selection. Frame-size presets, folder cards that open the all-canvases modal, and a batch of selection, grouping, and layout fixes make everyday editing steadier.
AI and chat get more control and reliability. You can set per-device API keys for AI providers under Settings → Preferences → Providers, fork a chat from any message, and @-mention an agent to run a task without attaching a ticket. Several long-standing annoyances are gone: Codex no longer prompts for your Keychain password on every spawn, sends won't silently downgrade to an unfundable BYOK route, and Windows Git credential prompts have stopped recurring.
The new external `@tempo/mcp` server lets you expose Tempo's toolsets to other MCP clients, with an install guide included. Issues, Workspaces, and pricing round things out — Stages editing moved into Organization settings, archived workspaces sort by activity, focus is preserved when switching workspaces, and a new pricing page introduces a \$200 Team plan for 5 seats.
**A rebuilt 5-step onboarding lands alongside broad canvas, chat, and agent fixes.**
### New
* Reworked onboarding: 5-step flow, kickoff workspaces, and a Getting Started widget.
* Paste HTML and URLs onto the canvas as live storyboards.
* Agents tab now uses the list as a sidebar with settings in the center.
* Trigger agents from published releases.
* Illustrated full-screen crash screen when the app fails.
### Improved
* Faster workspace switching with less render churn.
### Fixed
* Docs and issue bodies no longer strip out images.
* Live shape previews now render correctly while drawing.
* Color-picker changes collapse into a single undo step, scoped per workspace.
* Interact-mode zoom now tracks the canvas properly.
* Shift+A now forwards from embedded storyboards; frozen draw hover boxes clear.
* Interrupted chat turns can now be resumed.
* Expanded diffs no longer leak between chats.
* Chat history replay no longer destructively shrinks.
* Per-chat link preferences stay independent.
* Chat name lookups no longer reference another workspace's chat.
* Share access requests and pending invitations work again.
* Post-wake auth toast now clears after refresh.
* Background agent runs no longer steal your active workspace.
* Sidebar widget no longer blocks adding a project.
* Workspace main-chat auto-rename no longer times out.
* Fixed a macOS crash on release builds.
This release centers on a fully rebuilt first-time experience. Onboarding is now a focused 5-step flow with kickoff workspaces and a Getting Started widget, replacing the old demo content so new users land in a real setup faster.
The canvas gets a batch of meaningful upgrades. You can paste HTML and URLs directly as live storyboards, live shape previews render smoothly while drawing, interact-mode zoom tracks the canvas, and color-picker edits now collapse into a single undo step with undo stacks scoped per workspace.
Chat and agents are steadier too. Interrupted turns are resumable, expanded diffs no longer bleed between chats, history replay won't destructively shrink, and background agent runs stop hijacking your active workspace. The Agents tab also moves to a sidebar-driven layout.
Across the platform we fixed sharing and invitation flows, cleared the lingering post-wake auth toast, stopped docs and issues from dropping images, and resolved a macOS release crash — plus faster, lower-churn workspace switching.
**AI chat can now read your live Tempo workspace context.**
### New
* AI chat can now see live context from your Tempo workspace.
* Agents can auto-archive a workspace when a run completes.
* Copy images you've sent in chat.
* Private Tempo links now unfurl in connected Slack organizations.
### Improved
* Chat keeps buffered content when you stop a turn.
* Bug reports let you set an email update preference.
### Fixed
* Chat history is preserved across Codex thread recovery.
* First workspace message no longer lost after auto-naming.
* Composer drafts survive route changes instead of being corrupted.
* Stopped initial-turn context now persists across chat switches.
* Workspace sidebar no longer scrolls horizontally in chat.
* Retried agent runs no longer abort your active chat.
* Continuation agent runs no longer get stuck.
* Message-only Slack agents re-trigger on an in-thread @mention.
* Open-canvas picker stops badging stale forks as 'modified'.
* Fixed fresh-frame paint storms on canvas.
* Creating issues via MCP no longer silently drops the body.
This release centers on making AI chat smarter and steadier. Chat can now read live context from your Tempo workspace, so responses reflect what you're actually working in. Alongside that, several long-standing reliability issues are fixed: chat history is preserved through Codex thread recovery, the first message after auto-naming no longer disappears, and composer drafts stay intact across route changes and chat switches.
Agents get more autonomy and fewer surprises. You can now toggle auto-archiving a workspace when a run completes, continuation runs no longer stall, retried runs stop interrupting your active chat, and message-only Slack agents respond correctly when @mentioned in a thread.
Canvas is smoother, with paint storms on fresh frames eliminated and stale forks no longer mislabeled as modified in the picker. On the platform side, private Tempo links now unfurl inside connected Slack organizations, bug reports include an email update preference, and creating issues through MCP no longer drops the body text.
**You can now fork a conversation across AI providers straight from the model picker.**
### New
* Fork a conversation across providers from the model picker.
* Shared Canvas, Issue, and Doc links now show rich previews.
* Invite people by email directly from private share links.
* Pin a storyboard as a canvas cover.
* Anonymous public share viewers now see a Try Tempo call to action.
### Improved
* Archived workspaces keep their chat history visible.
### Fixed
* Resuming an AI chat now routes to the provider that owns the session.
* Side-chat loading, remote attach, and transcript parity now behave consistently.
* Codex background agent activity now settles correctly.
* Archived continuation workspaces can be restored again.
* Tickets no longer show an empty description while collaboration loads.
* Ticket chat signals now span every linked branch.
* Share links now correctly request organization access.
* The direct split button action works again in split view.
* Fixed comment toggle layering on web shares.
This release leans into **AI chat and sharing**. You can now fork a conversation across providers from the model picker, so you can branch a thread onto a different model without losing context. On the reliability side, resuming a chat now routes to the provider that owns the session, Codex background agent activity settles properly, and side-chat loading, remote attach, and transcript parity behave consistently.
Sharing gets a noticeable upgrade: links to Canvas, Issues, and Docs now render rich previews, you can invite people by email straight from private share links, and anonymous public viewers see a Try Tempo prompt. Share links also correctly request organization access now.
Issues are steadier too—tickets no longer flash an empty description while collaboration loads, and chat signals now span every linked branch. Rounding things out, archived workspaces keep their chat history and can be restored, you can pin a storyboard as a canvas cover, and the split view button and web share comment layering are fixed.
**A shared Cmd+F find bar now works across all five surfaces, alongside broad chat and canvas reliability fixes.**
### New
* One shared Cmd+F find bar across all five surfaces.
* Create multiple workspaces at once from the issues multi-select bar.
* Canvas interact mode now renders in an authenticated webview.
* Auto-diagnostics run when a canvas fails to load.
### Improved
* User-configured Codex MCP servers now show with live status.
* Agent-run workspace cards now reflect their real state.
* Invite links show the org avatar and offer "Ask to Join" when you're not invited.
* Faster chat switching and a lighter app shell that no longer re-renders on every change.
* Canvas uses less memory when capturing screenshots at low zoom.
### Fixed
* Chat retries after a Codex crash instead of erroring forever.
* Chat status and stream deltas stay intact across restarts and early stops.
* Docs/Issues side chat now actually starts a new conversation.
* A chat tab no longer resumes its session in the wrong workspace.
* AI engine no longer reports "produced no output" while it is still writing.
* Image attachments now work in issue workspace prompts.
* Issue deep links always open in the full deep dive.
* The Add-artifact picker is scoped to the project you drilled into.
* Unified, searchable assignment picker for issues.
* Fixed agent issue activity attribution, self-triggers, and unread indicators.
* Canvas no longer latches a storyboard tiny from a stale viewport.
* Split's row-open no longer breaks the global Back button.
* Color picker's saturation/lightness square tracks hue again.
* Cleaned up issue label overflow and the filter rail.
* Deleted workspace folders no longer blame your antivirus.
This release centers on a new **shared Cmd+F find bar** that behaves consistently across all five surfaces, so search finally works the same everywhere. Issues also gains bulk workspace creation from the multi-select bar, and Canvas can now render interact mode inside an authenticated webview.
**Chat reliability** saw the most fixes: retries recover after a Codex crash, chat status and stream deltas survive restarts and early stops, side chats start fresh conversations, and tabs no longer resume in the wrong workspace. User-configured Codex MCP servers now surface with live status, and the engine stops falsely claiming it produced no output while still writing.
**Issues and agents** got sharper too — deep links open in the full deep dive, the Add-artifact picker stays scoped to your project, assignment uses one searchable picker, and agent activity attribution and unread indicators are corrected. Rounding things out are Canvas viewport and memory fixes, faster chat switching, a lighter app shell, and clearer invite links with an "Ask to Join" option.
**You can now fork a chat from any completed assistant response.**
### New
* Fork a chat from any completed assistant response.
* Issues ship with a Software Factory default stage pipeline and a pipeline diagram in every agent template.
* Sent issue context now auto-links back to the issue.
* Link recipients can request org access, and admins can approve it.
* Org members can now connect Linear.
### Improved
* Redesigned home with connected step spine and hue-coded wayfinding.
* Claude rate limits now show in the chat error banner.
* Faster canvas at scale by ending the git-scan storm that froze the app.
### Fixed
* Invite pages no longer blank out from a Convex query error.
* Invite emails surface send failures and are less likely to hit spam.
* Sent context pills now open in a side split.
* Duplicated streamed chat responses no longer appear.
* Sidebar chats no longer go missing after a hard reload.
* Archived workspaces no longer light up the nav unread dot.
* Dragging a multi-selected group of storyboards moves the whole group again.
* Canvas resize/move undo now survives layout literal drift.
* Canvas explains when auto layout direction has no effect and when a dev-lock conflict occurs.
* Agents list Activity column now sorts by the chat total it shows.
* "Create workspace" now reports as running in the Issues artifacts section.
* Share links now explain why a branch can't open.
* Loading spinners keep moving even when the window is unfocused.
This release centers on chat, canvas, and issues, with a handful of platform-level fixes around invites and sharing.
In chat, you can now **fork a conversation from any completed assistant response** to explore a new direction without losing the original thread. We also fixed duplicated streamed responses, restored sidebar chats that went missing after a hard reload, and now surface Claude rate limits directly in the error banner.
Issues get a **Software Factory default stage pipeline**, with a pipeline diagram included in every shipped agent template, plus automatic linking of sent issue context. Org members can now connect Linear.
Canvas received several stability fixes: dragging multi-selected storyboard groups works again, resize/move undo survives layout drift, and the app now explains auto layout and dev-lock conflicts instead of failing silently. A performance fix ends the git-scan storm that could freeze the app at scale.
On the platform side, link recipients can request org access for admins to approve, invite pages no longer blank out, invite emails report send failures, and share links explain why a branch can't open.
**Canvas fixes for validation in shipped builds and storyboard deletion in AI mode.**
### Fixed
* Canvas validation now runs correctly in shipped builds.
* Storyboards can always be deleted while in AI mode.
* Link opening preferences now apply consistently in chat.
This release focuses on Canvas reliability. Canvas validation now runs properly in shipped builds, so the off-main validation work happens as expected rather than only in development. Storyboard deletion is also unblocked while working in AI mode.
In Chat, your link opening preferences are now respected consistently, so links behave the way you've configured them.
**Tempo adds an org-level Linear integration with issue mirroring, an Integrations tab, and Linear issues as chat context.**
### New
* Linear integration: mirror issues, manage Linear & Slack in a new Integrations tab, and add Linear issues as chat context.
* Agent mention chips and agent tool calls now open their agent or run directly from chat.
* Internal reporters can pin issue fields that triage would otherwise decide.
### Improved
* Faster chat switching with fewer frame spikes.
* Issues panel opens and edits faster with less re-render fan-out.
* Unified artifact-card styling across issues — glyphs, gutters, and prose previews.
* Getting-started steps show their intro instantly instead of a 30s spinner.
### Fixed
* Global back/forward buttons now actually navigate.
* Issue property edits now paint in the same frame you click.
* Reading a chat in the Issues panel now clears its unread dot.
* Archived workspaces no longer badge issues as 'Awaiting Response'.
* Chats sidebar is now scoped to the active org.
* Rich editor no longer counts its own mount as an edit, and text after a literal \< is no longer dropped.
* Canvas AI-mode session is now shared across every shell of a workspace.
* Updater no longer cancels an update when relaunching during the swap.
* Insights refresh now reads only PRs merged since the last fetch.
The headline of this release is a new org-level **Linear integration**. You can mirror Linear issues into Tempo, manage Linear and Slack from a dedicated Integrations tab, and pull a Linear issue straight into a chat as context.
**Chat and agents** get more connected: agent mention chips and agent tool calls now open the relevant agent or run in one click. Chat switching is also noticeably smoother, with fewer frame spikes when moving between conversations.
**Issues** saw a broad round of polish — property edits now paint in the same frame you click, artifact cards share consistent styling, reading a chat clears its unread dot, and archived workspaces no longer show a false 'Awaiting Response' badge. Behind the scenes, the issues route renders less and opens ticket bodies faster.
A number of **platform and editor fixes** round things out: the global back/forward buttons now navigate correctly, the updater no longer cancels itself mid-swap, the Chats sidebar is scoped to the active org, and the rich editor stops misreporting mounts as edits or dropping text after a literal `<`.
**App downloads and auto-updates now come from a faster, more reliable delivery network.**
### New
* Use @-mentions in the agent master-prompt editor, matching chat behavior.
### Improved
* Downloads and auto-updates are now served from Cloudflare R2 instead of the GitHub API.
### Fixed
* Agent run cards now open in the agent view.
* Chat now surfaces an actionable hint when a session fails to start (CREATE\_SESSION\_TIMEOUT) instead of hanging silently.
* Sent chat drafts are cleared before a pane is reused, so old text no longer lingers.
This release moves app downloads and auto-updates to Cloudflare R2, which should make getting and staying on the latest version faster and more dependable.
On the agents side, the master-prompt editor now supports the same @-mentions you already use in chat, and agent run cards open directly in the agent view for a smoother workflow.
We also fixed a few chat rough edges: when a session can't start, you'll now see a clear hint instead of a silent stall, and previously sent drafts are cleared before a pane is recycled so stale text doesn't reappear.
**Fixes a startup crash that broke the Windows app and cleans up chat behavior.**
### New
* Option-drag on canvas resizes an element from its center.
* Same-org Tempo links now open in native tabs.
* New PR review daily digest for issues.
### Improved
* Unified the side-chat into a single, more reliable panel.
* Removed the Confirmations preference section from settings.
* Slack user IDs now show readable display names.
* Getting-started steps now explain what each step is doing and why.
* Windows window controls now match the macOS traffic lights.
* Switching chats no longer re-renders hidden routes, reducing lag.
* Clicking an issue no longer re-renders the whole page shell.
* Removed a redundant slow-turn warning in AI chat.
### Fixed
* Windows app no longer crashes at startup on some installs.
* Cancelling a plan no longer silently drops the message you typed.
* A chat killed mid-turn by a crash now reopens marked as interrupted.
* Command output is preserved when replaying a chat turn.
* Closing a chat tab no longer deletes the chat.
* Sending a message no longer re-captures pinned context.
* Clearer error message when a chat can't access the workspace.
* Archiving now works even when a stale index lock is present.
* Restored the responsive app font menu in the style panel.
* A dead connection now times out after 8s instead of stranding the client.
* Auto-update on quit is now pre-checked like the Update button.
This release focuses on stability and chat reliability. The most important fix resolves a startup crash that prevented the packaged Windows app from launching on some machines. Alongside it, several chat issues are gone: cancelling a plan no longer discards your typed message, a chat interrupted by a crash now clearly reopens as interrupted, command output survives turn replays, and closing a chat tab no longer deletes the chat itself.
We also unified the side-chat into a single panel, which removes a class of lifecycle bugs that came from having multiple implementations. Connection handling is more resilient too — a dead connection now times out at 8 seconds instead of leaving the client stuck, and auto-update on quit is pre-checked the same way the Update button is.
Canvas gains Option-drag to resize an element from its center, same-org Tempo links open in native tabs, and there's a new PR review daily digest for issues. Performance improvements cut unnecessary re-renders when switching chats and clicking issues, and Windows window controls now match the macOS traffic lights.
**Tempo agents are now first-class chat context you can @-mention, delegate to, and edit inline.**
### New
* @-mention Tempo agents in AI chat to delegate, inspect, and edit from the conversation.
* Chat links open externally by default, with a preference to open them in Tempo.
* Artifacts PR rows now show their own state tile, CI/approval glyphs, and #N pill.
* New organizations start with a seeded template agent fleet.
* Share loading now shows a Shippy flight progress indicator.
### Improved
* Polished the Canvas assets tab.
* Renamed the Feature Spec Writer template to Spec & Design.
* Only the table scrolls on the Agents tab, keeping controls in place.
* Capped sidebar width on ultrawide displays.
### Fixed
* Issue create modal now inherits the board's active filters.
* Live agent signals now appear on the ticket, not just its row.
* Artifact links follow out-of-app branch renames instead of orphaning.
* Undeliverable Slack continuation runs now fail instead of queueing forever.
* Split-view AI chat state now persists in Issues.
* Slash command pills survive switching workspaces.
* Browser back/forward history persists across workspace swaps.
* "Last viewed" now actually sorts workspaces correctly.
* Canvases home grid no longer blanks every thumbnail on preview re-query.
* Fast storyboard resize releases are preserved, and resizes abort cleanly when chrome hides mid-drag.
* Duplicating storyboards now preserves named exports.
* Restored colour token search in monorepos.
* Empty comment composers close on click-away.
* Merged PR badges survive transient git-status check failures.
* Billing toasts no longer double-fire or leak raw error codes.
* No more blank window when auth boot never settles.
* Bug-report transcripts no longer go missing after workspace moves.
This release makes **agents a native part of AI chat**. You can now `@`-mention Tempo agents directly in a conversation to delegate work, inspect what they're doing, and edit them without leaving the thread. New organizations also start with a ready-made template agent fleet, so there's something to work with on day one.
**Issues** gets a more informative Artifacts view: PR rows now carry their own status — a state tile, CI and approval glyphs, and a `#N` pill — and live agent signals surface on the ticket itself, not just the row. The create modal now respects the board's active filters, and artifact links follow branch renames that happen outside the app.
**Chat** links now open externally by default, with a preference to keep them in Tempo, and slash command pills and split-view chat state stick around as you move between workspaces.
A broad set of **Canvas** fixes round things out: smoother storyboard resizing, preserved named exports when duplicating, working colour token search in monorepos, and a home grid that no longer flashes blank thumbnails. Platform-level fixes cover billing toasts, auth boot recovery, and bug-report transcripts surviving workspace moves.
**Fixes for AI chat reliability and the background updater.**
### Fixed
* AI chat no longer blocks the CLI permission channel when handling one-shot prompts.
* Chat no longer reports a conversation as expired without confirming the transcript is actually gone.
* Resolved a Codex startup timeout race that could prevent it from launching.
* The updater no longer re-stages an already-downloaded update every minute.
This release focuses on stability in AI chat and agent workflows. One-shot prompts no longer wedge the CLI's permission channel, so approvals keep flowing, and chat will no longer tell you a conversation expired unless the transcript is genuinely gone.
We also fixed a startup timeout race that could stop Codex from launching reliably.
On the platform side, the background updater's 60-second check no longer re-stages a downloaded update every minute — re-staging now only happens once a download is complete.
**Faster chat and issue view switching, plus a batch of reliability fixes across chat, issues, and canvas.**
### New
* Slow AI turns now show a visible warning instead of appearing stuck.
### Improved
* Switching between chats is now near-instant instead of remounting the whole view.
* Switching issue views drops from \~1.8s to under 100ms via progressive card loading.
* Chat editor and session handling use less memory when switching workspaces.
* Canvas working-tree status no longer stalls the main thread.
### Fixed
* AI chat now surfaces upstream API errors instead of falsely reporting success.
* Queued chat messages are restored after a restart.
* Follow-up messages in chat now deliver reliably.
* Codex message structure is preserved in AI chat.
* Issues no longer show broken skeleton cards for deleted-agent assignees.
* Saved-view filters now reset correctly.
* Opening a linked artifact now opens it as a tab in the same split pane.
* Assignee menu now groups the Members label correctly.
* Canvas destructive moves no longer trigger lossy reconstruction.
* Canvas auto-sizing is now capped at 4x the authored frame to prevent runaway growth.
* The force-upgrade overlay can always be dismissed and can no longer get stuck closed.
This release is largely about speed and reliability in **Chat** and **Issues**. Chat switching is now a lightweight prop swap rather than a full remount, and issue view switching drops from roughly 1.8 seconds to under 100 milliseconds thanks to progressive card loading. Memory usage is also lower when moving between chats and workspaces.
AI chat gets several correctness fixes: upstream API errors are now surfaced instead of being reported as success, follow-up message delivery is more reliable, and slow turns show a visible warning so a long response no longer looks frozen. Queued messages also survive a restart, and Codex message structure is preserved.
On the **Canvas** side, destructive moves no longer risk lossy reconstruction, and auto-sizing is bounded to prevent frames from growing out of control. **Issues** picks up fixes for deleted-agent assignee cards, saved-view filter resets, linked-artifact tabs, and assignee menu grouping. Finally, the force-upgrade overlay now always has a working exit so it can't get stuck closed.
**Agent runs now surface in the grid's Activity column.**
### New
* Agent run queue now lives in the grid's Activity column.
* Newly created workspaces now open directly in Issues chat.
### Improved
* Smoother split divider dragging with no more stutter.
* Legacy source-repo sync writes are now blocked with an upgrade prompt.
### Fixed
* Restore archived linked workspaces instead of losing them.
* Reopen linked workspaces from Issues again.
* Archive Undo toast now stays visible so restore isn't silent.
* Removed the noisy "Couldn't refresh attached element" warning in Canvas.
* Large repos no longer drop merged-PR data in insights.
This release centers on agents and workspace reliability. The agent **run queue** has moved into the grid's **Activity** column, so in-progress work is visible right where you're already looking.
Workspaces get several fixes: archived linked workspaces can be restored, the archive **Undo** toast now stays on screen so restores aren't silent, and linked workspaces reopen correctly from Issues. Newly created workspaces also open straight into Issues chat.
On the polish side, split divider dragging no longer stutters, and Canvas drops the spurious "Couldn't refresh attached element" warning. Insights now pages through merged-PR fetches so large repositories keep their full history, and legacy source-repo sync writes are rejected with a clear upgrade nudge.
**Chat now auto-attaches your current canvas selection as context.**
### New
* The current canvas selection is automatically attached to chat context.
### Fixed
* Line-linked chat citations now display correctly.
Chat is now more aware of what you're working on. When you have something selected on the canvas, that selection is automatically added to your chat context, so you can ask questions or make requests without manually pointing the assistant at the right content.
We also fixed an issue where chat citations linked to specific lines weren't being revealed properly, making it easier to trace answers back to their source.
**Clicking between workspaces no longer freezes the app for half a second.**
### New
* Canvas: resize multiple selected elements proportionally at once.
* Hold Shift while dragging a canvas element to lock movement to one axis.
* Chat: links now show an affordance to open in your external browser.
* Confirm before quitting or reloading the app, with an option to reset from Settings.
### Improved
* Switching workspaces is snappy again — the 500ms click freeze is gone.
* Design agents now narrate what they're doing on the canvas.
### Fixed
* PR badges in workspaces now always open in your external browser.
* Issues: the "Awaiting Response" status now shows on the issue card.
* Cmd+L now applies only to the focused browser tab.
* Home no longer shows workspace chrome, the count badge is correct, and already-completed setup steps are detected.
* The live canvas stays stable even when a probe is missed.
* Chat: fast mode now sticks for new chats.
This release is largely about responsiveness. Switching between workspaces used to lock up the app for about half a second on every click — that freeze is now gone, and canvas rescans are scoped to just the workspace that changed, so things stay quick.
The canvas picks up two editing improvements: you can resize a multi-selection proportionally, and holding Shift while dragging now constrains movement to a single axis. Design agents will also narrate their actions as they work on the canvas.
Smaller fixes round things out. PR badges and chat links now reliably open in your external browser, Cmd+L is scoped to the focused tab, issue cards show "Awaiting Response," and Home drops the leftover workspace chrome while correcting its count badge and setup-step detection. You can now also confirm before quitting or reloading, and reset that prompt from Settings.
**Canvas AI-mode gets a round of reliability fixes alongside a new DeepSeek chat model.**
### New
* Added DeepSeek V4 Pro to the chat model catalog.
### Improved
* Canvas AI mode: gestures coalesce, subtree scoping, and working-list controls behave more predictably.
### Fixed
* Revealing layers no longer scrolls the entire workspace.
* Drags with no target in loop-rendered content now correctly enter AI mode.
* Panel sizes are contained again instead of overflowing.
* Style panel no longer emits Tailwind classes in projects that don't use Tailwind.
* Dev server now runs managed commands under the project's declared Node version.
This release focuses on making the **canvas** more dependable, especially in AI mode. Gestures now coalesce cleanly, edits stay scoped to the right subtree, and the working-list controls behave as expected. We also fixed a case where target-less drags in loop-rendered content failed to enter AI mode.
A few layout and workspace issues are resolved: revealing layers no longer scrolls the whole workspace, and panel sizes are properly contained again. The style panel now avoids emitting Tailwind classes in projects that aren't set up for Tailwind.
On the chat side, **DeepSeek V4 Pro** is now available in the model catalog. The dev server also correctly uses each project's declared Node version when running managed commands.
**A new Home tab with a Getting Started checklist lands alongside global back/forward navigation.**
### New
* Home tab with a Getting Started checklist that tracks setup progress.
* Global back/forward history in the app header.
* Pull requests and Lines changed metric tabs on the org Insights tab.
* Issues filter dropdown with search and creator/agent dimensions.
* Right-click menu on the chat's linked-issue card.
* Open PR pills as in-app browser tabs in the right split.
* Links from a Browser tab now open in new tabs beside the current one.
* Local HTML files auto-reload in Browser tabs.
### Improved
* Right-panel state now persists across Issues, Canvas, and Docs.
* Chats reopen instantly by rendering the latest messages first.
* Workspace Git status badges update live instead of every 30 seconds.
* Cleaner spacing around tool calls in AI chat.
### Fixed
* Label-grouped boards no longer hide name-backed issues.
* Emoji corruption and "Server Error" bricking in doc and issue bodies.
* Issue bodies no longer get blank paragraphs written on open.
* Apple Silicon users get the correct notarized DMG instead of the Intel installer.
* Updater verifies the staged bundle's signature before installing.
* Linked artifacts on web share pages are now clickable.
* Canvas previews now capture reliably when an agent finishes a session.
* Reloading a browser view shows a loading state instead of a black screen.
* Split-view divider drags keep working across webviews and iframes.
* Fuzzy search treats separators consistently for better matches.
This release opens with a new **Home tab** built around a Getting Started checklist, so setup progress is visible in one place — with completion reported directly by agents. Navigation also gets easier: the app header now has **global back/forward history**, and Browser tabs behave more like a real browser, opening links in adjacent tabs and auto-reloading local HTML.
**Issues** gains a redesigned filter dropdown with search and creator/agent dimensions, a right-click menu on linked-issue cards, and fixes for label-grouped boards that were hiding some issues. Editors no longer write stray blank paragraphs into issue bodies, and doc/issue content is protected from emoji corruption and "Server Error" states.
On the platform side, the macOS installer is now notarized and correctly targets Apple Silicon, and the updater verifies a staged bundle's signature before installing. Shared web pages list linked artifacts that are actually clickable, and Git status badges update live rather than on a 30-second sweep.
**Canvas** and **Chat** get steadier: canvas previews capture reliably when agents finish, chats reopen instantly by rendering recent messages first, and split-view divider drags keep working across webviews and iframes.
**A round of Canvas editing fixes and more reliable chat.**
### Improved
* Codex-synthesized MCP tool-call approvals are accepted automatically.
### Fixed
* Cmd+B bolds text again instead of toggling the sidebar when an editor is focused.
* Renaming a chat no longer applies to whichever chat you're currently viewing.
* Queued chat messages now send once async mini-turns finish.
* ESC returns to the Select tool after arming a tool from a toolbar dropdown.
* Alignment-grid clicks in the style panel no longer overwrite the axis they show.
* Nested Effects color popovers stay open when you release a drag.
* Browser-tab canvas and visible-region element captures render correctly.
* Expo canvases render again via a Metro recovery adapter.
This release focuses on **Canvas** stability and everyday editing. ESC now reliably drops you back to the Select tool after picking a tool from a toolbar dropdown, alignment-grid clicks in the style panel stop rewriting the axis they display, and nested Effects color popovers stay open through a drag. Rendering also improved: browser-tab canvases and visible-region captures come through correctly, and Expo canvases load again.
For **Chat**, Cmd+B bolds text again when an editor is focused instead of toggling the sidebar, renaming a chat now targets the right chat rather than the one you're viewing, and messages queued during async mini-turns send once those turns settle.
On the **Agents** side, MCP tool-call approvals synthesized by Codex are now accepted automatically, so those flows run without extra prompts.
**Canvas AI Mode lets you stage edits on locked elements and apply them from chat.**
### New
* Canvas AI Mode: stage edits on uneditable elements and apply them via chat.
* Agent work now shows up in the issue activity feed.
* Artifact links now point at a specific branch instead of a workspace.
* /audit-tdd is now a built-in slash command.
* Chat http(s) links open in a split-view Browser tab; Cmd+click opens the OS browser.
* Confirm before quitting or reloading, with a reset in Settings.
* Nav shortcut hints (Ctrl-N) return, revealed after a 1.5s Ctrl hold.
### Improved
* Double-click a selection outline or handle to shrink it to hug its content.
* Browser tab now handles Cmd+R/W/T plus Chrome-style Cmd+L and Cmd+F.
* Agent templates updated to Software Factory guide v9.
### Fixed
* AI chat sessions no longer go unresponsive: queued messages survive, late answers get a grace period, and live sessions aren't replaced by dead ones.
* Remote Control: answering a chat question on one machine no longer freezes the other.
* Mirrored chat now shows the full turn instead of only the tail while in flight.
* Idle agent runs are no longer killed while still healthy, and assignments release when a run is truly abandoned.
* Remote workspaces no longer sink to the bottom and ignore sort order.
* Dimension labels stay readable on rotated or flipped selections.
* Shared fixed-size storyboards render at their canvas box, and screenshots no longer show another storyboard's pixels.
* Pressing a storyboard body now interacts with its content instead of dragging the storyboard.
* Fill on the flex main axis now takes the leftover space.
* The outage toast no longer fires for users who are actually online.
The headline of this release is **Canvas AI Mode**. You can now stage edits on elements that aren't directly editable and apply them through chat, closing the loop between the canvas and AI. Alongside it, canvas selections got more precise: double-click an outline or handle to hug content, dimension labels stay readable when you rotate or flip, and shared storyboards render and screenshot correctly.
AI chat reliability saw a major push. Sessions that used to go unresponsive now hold onto queued messages, give late answers a grace period, and never swap a live session for a dead one. Remote Control and mirrored chat also got fixes so answering a question on one machine no longer freezes another, and in-flight turns show in full.
Agents are more legible and more stable: their work now appears in the issue activity feed, artifact links point at a specific branch, healthy runs are no longer reaped, and abandoned runs release their assignments cleanly. Templates are updated to Software Factory guide v9.
Rounding things out, the Browser tab gains standard Chrome-style shortcuts, chat links open in split view, and the app now confirms before quitting or reloading (resettable in Settings).
**Canvas reliability fixes plus new chat tab shortcuts and a restyled MCP settings tab.**
### New
* Added keyboard shortcuts for opening new chat tabs.
### Improved
* Restyled the MCP tab to match the settings page and design canvas.
### Fixed
* Fixed stale storyboard previews caused by transport stalls and share re-measuring.
* Fixed hex color commits and shading fallback in the style panel.
* Cleared leftover insets when moving an element back into normal flow.
* Prevented canvas dev server hangs from silently failing.
* Stopped Windows native file-watcher crashes with polling and process isolation.
* The 'Remote Control Enabled' toggle now respects the remote-control flag.
This release focuses on canvas stability. Storyboard previews no longer go stale when the transport stalls, and shared items re-measure their intrinsic size correctly. The style panel also picks up several fixes: hex-mode color commits now apply reliably, shading falls back gracefully where the paint worklet isn't available, and stale insets are cleared when you move an element back into normal flow.
Chat gains keyboard shortcuts for opening new tabs, and the MCP tab has been restyled to match the settings page and design canvas.
On the platform side, Windows users should see fewer crashes thanks to a polling default and supervised utility-process isolation for the native file watcher. Canvas dev server connections are also hardened against silent hangs, and the 'Remote Control Enabled' toggle now correctly respects its feature flag.
**Canvas selection and effects fixes, plus more reliable remote control connections**
### Improved
* Remote control connections are more reliable, with clearer error messages when they fail.
### Fixed
* Collapsed elements now keep their selection color on the frame.
* New effects are added to the top of the effects stack.
This release focuses on polish across the canvas. Selecting a collapsed element now correctly keeps the selection color on its frame, so it's easier to see what you've picked. When you add a new effect in the style panel, it now lands at the top of the effects stack instead of the bottom, matching what most people expect.
We also made remote control connections more dependable. The relay is now provisioned automatically, and when something does go wrong the failure is surfaced with a legible message instead of failing silently.
**The free tier now runs on GPT-5.6 Luna with a spend cap instead of a prompt limit.**
### New
* Free tier moves to GPT-5.6 Luna, capped on spend rather than number of prompts.
* Shift+A now preserves grid/wrap layout when converting in place.
* Added a light-mode pass across the BPM design system.
### Improved
* Radius handles now appear near selection corners on canvas.
* Canvas type-checking runs off the main thread for a more responsive app.
* First turn in a workspace no longer depends on route, with view state kept per workspace.
### Fixed
* Copy/paste of layers now works inside HTML storyboards.
* The justify-content control now always shows on flex containers.
* Browser element screenshots now capture at full fidelity.
* Canvas share links now unfurl as human-readable previews in Slack.
* The canvas homepage now re-scopes to the active org when you switch orgs.
* "New Canvas" now gives clear feedback on un-initialized projects.
* Long AI builds no longer look frozen during silent patch gaps.
* AI chat now recovers cleanly when a reconnect produces no turn.
* A hung auth refresh can no longer wedge the app.
* Failed language-server starts no longer crash the app.
* Quitting the app no longer surfaces a crash from open AI sessions.
* Crash evidence is now preserved across the restart a bug report requires.
* Starfield animation now runs at 60 Hz on app and sign-in screens.
* Removed the redundant status line under Get Started in onboarding.
The headline change is on billing: the free tier now runs on **GPT-5.6 Luna** and is limited by spend rather than a fixed prompt count, so you can work in the way that fits your usage.
Canvas gets several quality-of-life improvements. Radius handles now show up near selection corners, `Shift+A` keeps grid and wrap layout when converting in place, and copy/paste finally works for layers inside HTML storyboards. Type-checking now runs off the main thread, keeping the app responsive on larger projects.
AI chat and workspaces are more reliable. Long builds no longer appear frozen during silent patch gaps, sessions recover when a reconnect yields no turn, and the first turn in a workspace is now route-independent with view state tracked per workspace.
Platform stability work rounds out the release: a hung auth refresh can no longer wedge the app, failed language-server starts and app-quit no longer trigger crashes, and crash evidence now survives the restart needed to file a bug report. Slack link previews and a new light mode for the design system are also included.
**Clicking a folder in All Canvases now opens it in a modal instead of drilling in place.**
### Fixed
* All Canvases: clicking a folder opens the modal instead of drilling in place.
Opening folders from the All Canvases view now behaves as expected. Selecting a folder brings up the modal view rather than replacing the current view with an in-place drill-in, so you stay oriented and can browse folder contents without losing your place.
**Custom Agents are now org-scoped with Private/Public and edit-permission controls.**
### New
* Custom Agents can be shared org-wide as Private/Public with View-only or Anyone-can-edit access.
* Issues: split display mode for triaging agent-generated PRs.
* Chat: toggle the sidebar with Cmd+B.
### Improved
* Updater now offers a retry before falling back to a manual download.
* Shared links now name the browser tab after the shared artifact.
* Onboarding: the "Get Started" button shows a loading state.
### Fixed
* Fixed "Update didn't apply" errors and the broken manual-download link.
* Restored downloads and auto-updates that were failing due to a GitHub rate-limit outage.
* Canvas: drawn frames no longer render as 0x0 in newly created files.
* Canvas: undo history no longer breaks after landed writes.
* Canvas: storyboard failures now surface clearly instead of failing silently.
* Style panel: repo-image fill previews now resolve correctly.
* Landing page: scroll reveal animations now fire reliably in Firefox.
The headline change in this release is **org-scoped Custom Agents**. You can now share agents across your organization as either Private or Public, and choose whether others get View-only access or can edit them. Alongside this, Issues gains a **split display mode** built for triaging agent-generated PRs, and Chat picks up a **Cmd+B shortcut** to toggle the sidebar.
Updates are more reliable this round. We fixed the "Update didn't apply" failures, repaired the manual-download link, and the updater now offers a **retry** before pushing you to a manual download. We also resolved a GitHub rate-limit outage that was blocking downloads and auto-updates entirely.
Canvas received several fixes: newly created files no longer show drawn frames as 0x0, undo history stays intact after landed writes, and storyboard failures now surface properly. Smaller polish includes shared links naming the browser tab after the artifact, a loading state on the onboarding "Get Started" button, correct repo-image fill previews in the style panel, and reliable scroll animations on the landing page in Firefox.
**Chat now shows rich agent cards and lets you open agents in tabs or split view.**
### New
* Rich agent cards in chat, with the option to open agents in tabs or split view.
### Fixed
* Codex Apps are pre-approved so plugin tools work in AI chat.
* Canvas no longer misclassifies aliases and builtins as npm dependencies.
* Canvas installs dependencies using the correct package manager.
* Small SVG shapes keep their intended dimensions on canvas.
* Multi-select drag groups stay rigid when dropped onto a frame.
* Transient registration hiccups no longer show up as render-host errors.
* You stay in settings after deleting a project.
* Issue create-modal now seeds the body without losing content, and the collab provider is StrictMode-safe.
Chat gets a meaningful upgrade this release. Agents now appear as rich cards, and you can open them in their own tab or in split view so you can work alongside them instead of scrolling through a single thread. AI chat plugin tools also work reliably now that Codex Apps are pre-approved.
Canvas received several fixes around dependencies and shapes. Dependency preflight no longer mistakes path aliases and builtins for npm packages, dependencies install with the correct package manager, and small SVG shapes keep their intended size. Multi-select drag groups also stay rigid when dropped onto a frame, and transient registration failures no longer surface as render-host errors.
Elsewhere, deleting a project now keeps you in settings instead of bouncing you elsewhere, and the issue create modal seeds its body without dropping content while staying stable under React StrictMode.
**Re-assigning an agent to an issue now continues its existing workspace.**
### Fixed
* Re-assigning an agent to an issue continues its existing workspace instead of starting over.
* Restored the animated /book-form funnel on the landing page.
Agent hand-offs are smoother in this release. When you re-assign an agent to an issue, it now picks up its existing workspace and keeps its context, rather than starting fresh.
We also fixed the landing page, restoring the animated **/book-form** funnel that had stopped working.
**HTML storyboards are editable again, and canvases no longer disappear from the homepage.**
### New
* HTML storyboards support editing again, with flat-JSX capture retained.
* Kimi K3 now runs directly on Tempo Inference in AI chat.
* Delete is now available in the canvas selection context menu.
### Improved
* Homepage and workspace loading is faster with fewer git-related stalls.
### Fixed
* Canvases no longer disappear from the homepage.
* Agent routing now works to a teammate's agent.
* Agent route selection is no longer wiped.
* "Fix with AI" now pre-fills the chat composer.
* AI chat now sends the queued message on the async settle path.
* AI tool calls now use the workspace's org instead of the window's active org.
* Wrapper components now stay visible in the layer tree.
HTML storyboards are back: you can edit them again while flat-JSX capture keeps working as before. On the homepage, a rebuilt canvas index means canvases stop vanishing, and the list loads noticeably faster after cutting the underlying index from roughly 29,500 rows to under 600.
Agent workflows got more reliable. Routing work to a teammate's agent now succeeds, agent route selections are no longer wiped out, and AI tool calls correctly use the workspace's org. AI chat now delivers queued messages even on the async settle path, and "Fix with AI" properly pre-fills the composer.
Canvas editing picks up a delete action in the selection context menu, wrapper components stay put in the layer tree, and Kimi K3 is now available directly through Tempo Inference. Under the hood, several performance fixes reduce git-related freezes and spawn storms, making the homepage and workspaces feel smoother.
**A new all-canvases homepage lands alongside live component previews in the Assets tab.**
### New
* All-canvases homepage replaces the old per-workspace view.
* Assets tab now shows live component previews with add-to-canvas.
* Chat file links are now clickable.
* Agents show Runs-on as a Properties row with per-agent Remote Control opt-in.
* Font-size shortcuts: Cmd/Ctrl+Shift+. and +,
* File tree no longer auto-expands and now shows gitignored entries.
* Landing page redesigned around a software-factory focus.
### Improved
* Faster panning on large canvases.
* General canvas rendering and interaction performance.
### Fixed
* Storyboard moves no longer revert after being placed.
* Multi-element and multiselect drags now commit atomically and snap as a group.
* Same-named canvases no longer collide, now addressed by path.
* Fixed several canvas loading hangs and broken storyboard loads.
* No more default-sized outline flash when starting a draw gesture.
* Fast release-while-moving draws now commit instead of cancelling.
* Alignment snapping while drawing storyboards and frames.
* Canvas previews now fetch by rendered path for accuracy.
* Design context sidebar now matches the chat sidebar.
* Slack: unsubscribing from a thread no longer mutes the whole channel.
This release centers on the canvas. The workspace now has a single **all-canvases homepage** built on the designer's own code, replacing the older per-workspace view, and the **Assets tab** gains live component previews you can drop straight onto the canvas.
Editing is steadier: storyboard moves no longer revert, multi-element drags commit atomically and snap as a group, and same-named canvases no longer collide. We also fixed several loading hangs, the draw-gesture outline flash, and alignment snapping while drawing.
Beyond the canvas, chat file links are now clickable, agents expose a Runs-on property with per-agent Remote Control, and the file tree stops auto-expanding while surfacing gitignored entries. New font-size shortcuts (Cmd/Ctrl+Shift+. and +,) speed up text edits, and a Slack fix ensures unsubscribing from a thread no longer mutes an entire channel.
**Remote Control lets you run workspaces on another machine and mirror and control them from this one.**
### New
* Remote Control: run workspaces on another machine, then mirror and control them here.
* Opus 5 is now available and set as the default model (Opus 5 1M).
* Selection-aware undo/redo on the canvas.
* Portal content is now editable in projected storyboards.
* Custom Agent template MCP tools.
* Redesigned issue and doc share pages (Notion-style, mobile + desktop).
* Mobile layout for the canvas share page.
* Keyboard-shortcut hints and press-to-flash on the canvas right-click menu.
* Added a product docs page for the Agents feature.
### Improved
* Issue filter dropdown rebuilt on the design system dropdown.
* Style panel Tailwind class and color search now ignores separators.
* Faster canvas homepage source-repo sync that keeps local state on-device.
* Removed the close warning on share pages.
* Click the branch name in the app header to copy it.
### Fixed
* Pinned workspaces keep a stable order and drag/drop lands on the target.
* Interrupted chats are no longer counted as running agents.
* Projected storyboards no longer lose their head.
* Share page shows a loading state instead of an error while the canvas loads.
* Canvas chat session dropdown now scrolls with a visible scrollbar.
* Toggling Tempo Inference now tears down the running server.
* Diagnostics export now keeps a chat tab's prior-session events.
The headline of this release is **Remote Control**. You can now run workspaces on a separate machine and mirror and control them from your current one, so heavier or remote setups stay fully usable from wherever you're working.
On the model side, **Opus 5** is now available and set as the default (Opus 5 1M). Sonnet 4.6 has been retired. Canvas also gets meaningful upgrades: **selection-aware undo/redo**, editable portal content in projected storyboards, and keyboard-shortcut hints on the right-click menu.
Sharing is cleaner too, with a Notion-style redesign of the issue and doc share pages across mobile and desktop, a mobile layout for canvas share pages, and a loading state instead of an error while a canvas loads.
Rounding things out are fixes to pinned workspace ordering and drag/drop, more accurate running-agent counts, branch-name copy from the app header, and improved Tailwind class and color search in the style panel.
**Tempo now includes an embedded browser with tabs and element context.**
### New
* Embedded browser tabs with element context for AI chat
* Tempo Web Clipper: capture any web page as an HTML storyboard
* Canvas comments now render image attachments
* Renaming a chat can also rename its workspace branch
* Chat-view center tabs stay mounted when switching tabs
* OpenCode model picker now offers Kimi K3 (replacing K2.6)
* Design-system generation adds build-mode choice and app shell
### Improved
* Auto-update now surfaces stuck or failed updates instead of failing silently
* Canvas: wrap selections that span multiple parents
* Faster background git/GitHub work with capped concurrency
### Fixed
* Opening an issue no longer auto-opens the AI chat panel
* Archive-toast Undo no longer races or fails silently
* Storyboard preview cache now survives switching workspaces
* Removed blank-frame flash when undoing/redoing auto-layout wraps
* Hover and click now reach frames inside a selected storyboard
* Storyboard drags no longer snap back on subframe focus steal
* Canvas paths containing spaces now work
* Fixed zombie Custom Agent runs after a failed submission
* Completed agent workspaces now route correctly
* Commit action now preserves the selected model
* Sub-chat split context is now preserved
* CLI return button stays above the terminal
* CLI mode reloads terminal history on close
* Child processes no longer show mac Dock icons or Windows consoles
* Free-tier quota limits now show in the banner instead of failing quietly
* Bug-report error text is now readable
This release brings a built-in **embedded browser** to Tempo, complete with tabs and element context that AI chat can reference — plus the **Tempo Web Clipper**, which captures any web page as an editable HTML storyboard. Canvas comments can now carry image attachments end to end.
Canvas gets several quality improvements: you can wrap selections that span multiple parents, storyboard preview caches survive switching workspaces, and long-standing interaction issues are fixed — no more blank-frame flash on auto-layout undo/redo, drags snapping back on focus steal, or being unable to hover and click frames inside a selected storyboard. Paths with spaces now work too.
Chat and agents are more reliable: renaming a chat can also rename its workspace branch, center tabs stay mounted across switches, the commit action keeps your chosen model, and sub-chat split context is preserved. Zombie Custom Agent runs after failed submissions and mis-routed completed agent workspaces are both fixed. The OpenCode picker now offers **Kimi K3**.
Rounding things out, auto-update now clearly reports when it's stuck or failed, quota limits surface in a banner, opening an issue no longer hijacks the AI chat panel, and background git/GitHub work runs faster with capped concurrency.
**Canvas gains Shift+A full alignment inference and smarter spacing for overlapping stacks.**
### New
* Canvas: Shift+A infers and applies full alignment across selected elements.
* Canvas: negative gaps are inferred for uniform overlapping stacks.
### Fixed
* Canvas: you can now edit text nodes whose formatted content includes line breaks.
* Canvas: undo now survives file drift instead of failing.
* Canvas: portal-child layers are no longer pruned during live updates.
* AI chat: interrupting a response now cold-resumes cleanly instead of reusing a flaky process.
* Style panel: multi-element edits now commit or cancel as one atomic change.
* Workspaces: chat continuity is preserved across archive and restore.
* Auth: the transient reconnect banner no longer intercepts clicks.
* Auth: sessions recover more reliably after a refresh or auth failure.
* Windows: no more false "Git is required" errors on slow-to-start machines.
This release focuses on the canvas. **Shift+A** now infers and applies full alignment across your selection in one step, and overlapping stacks with uniform spacing correctly infer negative gaps. Editing is more reliable too: text nodes containing line breaks are now editable, undo holds up even when the underlying file has drifted, and portal-child layers stay put during live updates.
AI chat handles interruptions better — stopping a response now starts a clean session rather than reusing a subprocess that could hang. The style panel treats multi-element edits as a single atomic change, so a cancel no longer leaves things half-applied.
A batch of stability fixes rounds things out: chat history survives archiving and restoring a workspace, sign-in recovers more gracefully after a refresh or auth failure, the reconnect banner no longer swallows clicks, and Windows users won't hit a false "Git is required" block on slower machines.
**Fixed crashes affecting agent follow-ups and diagnostics.**
### Fixed
* Prevented crashes during agent follow-ups and diagnostics.
* AI chat now keeps a stopped first message until a session is created.
This release focuses on stability for AI-powered workflows. We fixed crashes that could occur during agent follow-up actions and while diagnostics were running, so long or interrupted sessions should now hold up more reliably.
We also fixed an issue in AI chat where stopping your very first turn could lose that message. Your message is now preserved until a session exists, so nothing disappears when you start and pause a new conversation.
**Agent Templates gallery lands to end the Custom Agents cold start.**
### New
* Agent Templates gallery to jump-start custom agents.
* GLM 5.2 free and paid combined into one quota-aware model picker row.
* Gradient and image fills now available on the bottom fill layer.
* Live-preview typography by hovering over font options.
* Pinned workspaces now grouped into a flat "Pinned" section.
### Improved
* Archived workspaces no longer background-track git/PR status.
* Per-workspace git ahead/behind checks now run off the main thread for a smoother UI.
### Fixed
* Create agents instantly — fixes infinite-loading Slack trigger.
* Fixed canvas selection, copy, text-formatting, and transform interactions.
* Dragging fill alpha to 0 no longer deletes the fill row.
* Share/preview captures no longer silently save partial results.
* You can now share canvases nested at any depth under the canvases root.
* Share-preview comment pins now stay synced with canvas pan and zoom.
* AI chat keeps the interrupted notice in history and clears the sidebar dot on resume.
* Streaming indicator now anchors to the transcript tail instead of the last assistant reply.
* Clipped out-of-flow content no longer inflates storyboard autosize.
* Recover workspaces that got stranded in "materializing" by orphaned directories.
* Handle missing workspace paths gracefully at startup.
This release makes agents much easier to start with. The new **Agent Templates gallery** removes the blank-slate problem for custom agents, and agents are now created instantly instead of opening a draft view — which also fixes the infinite-loading Slack trigger.
Canvas and the style panel get a round of attention. You can now add **gradient and image fills** on the bottom fill layer, and dragging a fill's alpha to 0 no longer deletes the row. Hovering over font options gives you a **live typography preview**. Sharing is more reliable too: canvases nested at any depth can be shared, captures never save silently partial results, and share-preview comment pins stay locked to the canvas as you pan and zoom.
Workspaces are more resilient and responsive. Workspaces stranded in "materializing" by orphaned directories can now recover, missing workspace paths are handled at startup, and git status tracking runs off the main thread — with archived workspaces skipped entirely — for a smoother overall experience.
AI chat also improves: the interrupted notice now persists in history and the sidebar dot clears on resume, while the streaming indicator anchors to the end of the transcript.
**Custom artifacts and inline pills now open in split view instead of the browser.**
### New
* Search issues by their human-readable issue ID.
* Open custom artifacts and inline artifact pills in split view.
* Add "Copy as Markdown" to the authenticated member doc-share view.
* Cmd+R reloads the open canvas instead of the whole page.
* Manual reload button added to canvas toolbars.
* Issue detail actions menu now includes Create workspace and Copy ID.
* Shift+A infers flex-wrap for multi-row arrangements on canvas.
* Queued agent runs are now visible when you hit the concurrency cap.
* One-click workspace archive snapshots uncommitted work before cleanup.
### Improved
* AI can now find and list design-system assets when you ask about your design system.
* Reuse an idle AI terminal for repeated AI-run commands.
* Faster app response by cutting full-tree re-renders from duplicate queries.
* Abandoned-run notices now render inline instead of taking over the whole area.
### Fixed
* Auto storyboard/devserver diagnostic reports no longer attach your chat transcript.
* Stopped the connection dropping every \~5 minutes on token refresh.
* Fixed mid-session 401 errors on managed Tempo Inference.
* Split-view doc scroll position is preserved when switching workspaces.
* Assignee dropdown no longer shifts position while adding assignees.
* Diff pane no longer shows a branch-added file as a full-file add in uncommitted mode.
* Opening a canvas card no longer hijacks the chat into the right split.
* Canvas Open now shows a loading state and can open linked canvases from share view.
* Freeform canvases no longer land in the wrong place on empty legacy roots.
* Selection-overlay chrome stays rigid under skew and scale transforms.
* Radius corner is chosen by drag direction when handles stack at max.
* Recovered and surfaced dead-route storyboard live sessions.
* Cleared stale devserver hints and lost host-registration hangs on canvas.
* Restored GPT-5.6 workspace naming and kept acknowledged follow-ups alive.
* Hid the cross-provider "open in new" arrow on the draft model picker.
* Org-scoped views re-scope on org switch instead of flashing the previous org.
* Outer app window no longer scrolls out of the viewport.
* Clearer error when a bundled Claude binary won't launch.
* Fixed crashes from null-path workspaces and diagnostics-dir startup failures.
This release leans into a smoother split-view workflow. Custom artifacts and inline artifact pills now open directly in split view instead of bouncing you out to the browser, and split-view docs keep their scroll position when you switch workspaces.
Canvas gets a batch of practical improvements: **Cmd+R** reloads the open canvas (with a new manual reload button in the toolbar too), **Shift+A** now infers flex-wrap for multi-row arrangements, selection chrome stays rigid under skew and scale, and several placement, loading-state, and stuck-session issues are fixed.
Issues and agents are more workable: search by human-readable issue ID, use **Create workspace** and **Copy ID** from the issue detail menu, and see agent runs that are queued behind the concurrency cap. The assignee dropdown also stays put while you add people.
Stability and privacy see real fixes: the connection no longer flaps every few minutes on token refresh, managed Tempo Inference stops throwing mid-session 401s, and automatic storyboard/devserver diagnostic reports no longer include your chat transcript. AI can now find and list your design-system assets when you ask about them, and general responsiveness improves thanks to fewer redundant re-renders.
**Fixed app freezes, idle CPU churn, and renderer crashes for a smoother, more stable workspace.**
### New
* Canvas: Shift+A infers a CSS grid for clean 2D arrangements.
### Improved
* Canvas: Shift+A keeps outlier children absolutely positioned.
* Workspace asset index is now limited to design-system declarations.
### Fixed
* App no longer freezes for 1-2s, churns CPU while idle, or bloats renderer memory.
* Renderer no longer hard-crashes when nearing its memory limit.
* Abandoned agent runs now show in their chat instead of spinning forever.
* Setup-script terminals now run in their own workspace.
* AI chat now warns when /compact does nothing.
This release focuses on stability and responsiveness. We tracked down and fixed the 1-2 second app freezes, idle CPU churn, and renderer memory bloat that many of you were hitting during longer sessions. The renderer also no longer hard-crashes when it approaches its memory limit, so heavy workspaces should stay up.
On the canvas, **Shift+A** got smarter: it now infers a CSS grid for clean two-dimensional layouts, while keeping outlier children absolutely positioned so nothing jumps out of place.
We also cleaned up a few rough edges. Abandoned agent runs now report back in their own chat instead of leaving an infinite spinner, setup-script terminals run in their own workspace, and AI chat warns you when `/compact` has nothing to do rather than silently no-op'ing. Finally, the workspace asset index is now scoped to design-system declarations.
**Archive workspaces to free up worktrees while keeping the branch.**
### New
* Archive a workspace to remove its worktree while keeping the branch.
* Shift+A converts a selected container to Auto Layout in place.
* Option+Shift+A removes Auto Layout from a container.
* Admin coupon-code dashboard at auth.tempo.build/admin/coupons.
### Improved
* Auto Layout wrap now sorts children into visual flow order.
* Auto Layout infers per-side padding from children edge offsets.
### Fixed
* Restored the Codex CLI slash-command flow on Codex 0.144.1 + GPT-5.6.
* Subagent progress now renders correctly from the opencode 1.17.13 wire.
* MCP tools fall back to unpinned resolution across docs, comments, agents, and scripts.
This release adds **workspace archiving**: you can now archive a workspace to remove its worktree and reclaim space while preserving the underlying branch, so nothing is lost when you step away from a piece of work.
Auto Layout on the canvas gets faster and more predictable. **Shift+A** converts a selected container into an Auto Layout frame in place, and **Option+Shift+A** removes it again. Wrapping now reorders children into their visual flow, and padding is inferred per-side from where children actually sit against the edges.
On the AI side, the Codex CLI slash-command flow works again on Codex 0.144.1 with GPT-5.6, and subagent progress renders correctly against the latest opencode wire format. MCP tools also now fall back to unpinned resolution across docs, comments, agents, and scripts. Admins get a new coupon-code dashboard at `auth.tempo.build/admin/coupons`.
**Windows users no longer see stray console windows pop up while Tempo runs.**
### Fixed
* Hidden background console windows that could flash open on Windows.
On Windows, Tempo spawns helper processes to keep everything running smoothly. Previously these could briefly open visible console windows, cluttering your screen and taskbar.
Those windows are now suppressed, so background work stays out of your way and the app feels cleaner during normal use.
**AI chat gains the GPT-5.6 (Sol/Terra/Luna) Codex models and retires GPT-5.4 Codex.**
### New
* AI chat adds GPT-5.6 Sol, Terra, and Luna Codex models; GPT-5.4 Codex is sunset.
* New design-system slash commands plus an example buttons canvas.
### Improved
* AI chat streaming is smoother with an event-driven, frame-coalesced pump.
* Billing retries Stripe checkout actions after a dropped connection, with no duplicate toast.
* Per-model credit toggles now respect the master Tempo Inference switch.
* Provider request failures show a specific error tag instead of a generic "unknown".
* "Publish failed" toasts now include the underlying git error.
### Fixed
* Canvas comments now land correctly when tapped on mobile Safari.
* Issue boards no longer crash from a stale saved organization id.
* Editing an issue with a malformed label id no longer crashes.
* Moving issue groups tolerates a missing assignee or label set.
* Canvas now renders all visible route storyboards, not just one.
* Drawing over a text storyboard creates a sibling instead of overwriting.
* Duplicated canvas previews keep the copy's annotations.
* Text being edited on canvas no longer shows an unwanted outline.
* Doc suggestions resolve against the current document, not a stale state.
* The "Comment resolved" toast now dismisses on its own.
* "Session expired" only appears once connectivity is confirmed.
* Agents view shows a loading state instead of "No agents yet" while loading.
* Toasted background actions no longer crash the app.
* Bug report screen recording asks for permission up front to avoid a capture leak.
* AI can reference issues by a bare number (e.g. "932").
This release brings the **GPT-5.6 Codex** family to AI chat: the Sol, Terra, and Luna variants are now available, while the older GPT-5.4 Codex model has been retired. AI chat also streams more smoothly thanks to an event-driven pump, and provider errors now report a specific cause instead of a generic "unknown" message.
Canvas gets several fixes: all visible route storyboards render, drawing over a text storyboard creates a sibling rather than overwriting it, duplicated previews keep their annotations, and text being edited no longer shows a stray outline. On the design side, a new slash-command suite and an example buttons canvas make it easier to work with your design system.
Issues and docs are more resilient — boards no longer crash on stale saved state or malformed label ids, group moves tolerate missing assignees or labels, and doc suggestions apply against the current document. Billing now retries Stripe checkout actions after a dropped connection without duplicate toasts, and per-model credit toggles respect the master Tempo Inference switch. Rounding things out: canvas comments work on mobile Safari, the "Comment resolved" toast auto-dismisses, "Session expired" waits for confirmed connectivity, and background actions no longer crash the app.
**Stuck agent runs now recover automatically instead of hanging.**
### Fixed
* Agent runs whose turn never started now self-heal and retry instead of stalling.
Agent runs that got stuck before their turn was dispatched would previously hang indefinitely. A new startup watchdog detects these stalled runs and automatically retries them, so work continues without manual intervention.
If you've hit agents that seemed to freeze right after starting, they should now recover on their own.
**Fixes across Slack, AI chat, canvas, and workspaces plus lower per-visit memory use.**
### Improved
* Slack agent posts are now titled "\{User}'s \{Agent name}".
* Workspaces use less memory by no longer keeping a file-tree copy per visit.
### Fixed
* Split-view "+" now opens the new-tab dropdown instead of the old overlay.
* Shared view\.tempo.new canvases stay interactive.
* Duplicate canvas comment popovers no longer appear.
* The active canvas comment toolbar toggle works correctly.
* Slack DM replies to stale installs are flagged to reconnect instead of dropped.
* AI chat no longer gets stuck loading when a session ends mid-stream.
* AI chat mini-turns now finalize with a correct completion status.
* Issue↔workspace links survive branch renames.
* Kanban cards drag correctly inside scrolled virtualized columns.
This release focuses on stability across the app. In **Slack**, agent posts are now clearly titled "\{User}'s \{Agent name}", and DM replies to stale installations are flagged for reconnection instead of being silently dropped.
**Canvas** gets several fixes: shared `view.tempo.new` canvases stay interactive, duplicate comment popovers are gone, and the active comment toolbar toggle behaves correctly.
**AI chat** no longer hangs in a loading state when a session ends mid-stream, and mini-turns now finalize with an accurate completion status.
For **workspaces**, the split-view "+" opens the new-tab dropdown, issue-to-workspace links survive branch renames, and memory use is lower now that a full file-tree copy is no longer kept per visit. Kanban cards also drag correctly inside scrolled, virtualized columns.
**You can now set granular, per-model spending controls for Tempo Inference credits.**
### New
* Set per-model credit controls for Tempo Inference.
* Subscribe/unsubscribe to Slack threads from agents across all providers.
### Improved
* Draw tools now emit Tailwind classes so previews match your project styling.
* Faster board loads via virtualized kanban swimlane rows.
* Unified agent chat context menus.
* Local workspace canvases render immediately without waiting on the cloud index.
* Clearer Slack trigger connection state.
### Fixed
* Board edits now update the UI instantly.
* Agent create flow shows the real GitHub/webhook URL and secret.
* Canvas comment popover stays anchored in split view and on tab switch.
* Copy usable canvas comment thread links.
* Storyboard previews render with the project's global CSS.
* Drawn-primitive storyboards are labeled after their root element.
* Overflowing text stays visible in intrinsic text storyboards.
* Preview auto-capture no longer thrashes the live render pool.
* Promoted workspace chat is now protected from archiving.
* Removed duplicate context chip tooltips.
* MCP status converges correctly after CLI reauth.
* Hardened built-in MCP tools and improved connectivity probing.
* Resolved workspace branch PR collision allocation.
* On Windows, git is resolved on PATH with a clear error when missing.
* Improved app stability around window menus and shutdown edge cases.
This release adds **per-model controls for Tempo Inference credits**, so you can decide exactly how spend is allocated across models instead of managing a single pooled limit.
Canvas gets a lot of attention. Draw tools now emit Tailwind classes, and drawn or pasted storyboard previews render with your project's global CSS, so what you see on the canvas matches your real styling. Comment popovers stay anchored correctly in split view and when switching tabs, thread links are now copyable, and local workspace canvases load right away without waiting on the cloud index.
Issues feel snappier: board edits update the UI instantly, and virtualized kanban swimlanes speed up board loading. Agents can now subscribe and unsubscribe to Slack threads across all providers, and the create flow shows the real GitHub/webhook URL and secret.
A range of fixes improve day-to-day reliability, including steadier MCP status after CLI reauth, better connectivity probing, cleaner git handling on Windows, and general app stability improvements.
**Fixed a crash that prevented the packaged desktop app from starting.**
### Fixed
* Desktop app no longer crashes on launch due to a missing dependency.
This release fixes a startup crash in the packaged desktop app. A required dependency (`css-tree`) wasn't being bundled, causing the main process to crash before the app could open.
If you were unable to launch Tempo after installing a recent build, updating to this version should resolve the issue.
**Share links now use human-readable, Linear-style URLs.**
### New
* Share issues with readable URLs based on your org slug.
* Browse and edit a project's CSS custom properties from the canvas.
* Manage files in the Design tab's canvases tree.
* Collapsible date-group headers in the chat workspace list.
* Issue context cards are now collapsible and remember their state.
* Agent runs and new workspaces auto-link to tickets with live loading indicators.
* First-run empty state added for Agents.
* Tempo Inference now works from the CLI via the chat-mode server.
### Improved
* Renamed "Custom Agents" to "Agents" across the UI.
* Restored the "What are Agents?" help dialog.
### Fixed
* Slack agents no longer self-trigger on their own MCP posts.
* Issue, doc, and canvas context pills now open as center tabs on the agents route.
* Fixed an app crash caused by the collapsed tab rail.
* Blocking questions are no longer revoked by in-turn subagent activity.
* Agents MCP now loads reliably on cold-start sessions.
* Doc body reflows in narrow/split view instead of clipping.
* Custom stage titles now display correctly on the issue share page.
* Touch pan and pinch-zoom now work on the mobile share preview.
Sharing gets a big upgrade: issue share links are now human-readable, Linear-style URLs built from your org slug instead of opaque IDs. The mobile share preview also supports touch pan and pinch-zoom, and shared issues now show the correct custom stage titles.
Canvas gains new depth. You can browse and edit a project's CSS custom properties directly from the canvas, and the Design tab's canvases tree now supports full file management.
Issues and chat feel more organized. Context cards are collapsible with persisted state, agent runs and new workspaces auto-link to tickets with live loading indicators, and the chat workspace list has collapsible date-group headers.
Agents are cleaner and more reliable: "Custom Agents" is now simply "Agents," the "What are Agents?" help dialog is back, and there's a proper first-run empty state. Under the hood, Slack agents no longer self-trigger, the Agents MCP loads reliably on cold-start, and blocking questions survive subagent activity. Tempo Inference now also works from the CLI.
A handful of stability fixes round things out, including a resolved app crash from the collapsed tab rail and doc bodies that reflow instead of clip in narrow or split views.
**Slack bot posts now show who triggered them and long AI turns no longer drop out with 401s.**
### Improved
* Slack bot posts are attributed to the triggering user ("Shippy (Name)") with a composited avatar.
* First-party Tempo MCP tools are now approved and available in Codex.
* CLI TUI now shows the correct model and provider tier (Zen vs Go).
* Color picks now commit canonical --color-\* variables in the style panel.
### Fixed
* Long Tempo Inference turns in Codex no longer fail with 401 errors mid-run.
* Canvas rectangles keep a consistent stroke width when zooming and no longer clip.
* Canvas zoom readout has a fixed width so the pill stops shifting around.
* Tempo projects now heal unsatisfiable tempo-sdk version pins before install.
This release focuses on making AI and integrations more reliable. Long Tempo Inference turns in Codex previously risked cutting out with a 401 partway through; a token-refresh fix keeps those sessions alive. First-party Tempo MCP tools are now approved in Codex, and the CLI TUI correctly reflects the model and provider tier you're on (Zen vs Go).
Slack integration got clearer: bot posts are now attributed to the person who triggered them, showing "Shippy (Name)" alongside a composited avatar so it's obvious who kicked off an action.
On the canvas, drawn rectangles now hold a steady stroke width while zooming and won't clip at their edges, and the zoom readout uses a fixed width so the pill no longer jitters. Color selections in the style panel commit canonical `--color-*` variables, and project setup can now heal unsatisfiable tempo-sdk pins before installing.
**You can now surface archived chats with a per-project Status filter.**
### New
* Filter chats by status to view archived conversations per project.
* Set a per-account Figma personal access token to paste image fills.
### Improved
* The /mcp slash command is now scoped to Claude, where it's supported.
### Fixed
* Long Tempo Inference turns in opencode no longer fail with 401 errors.
* Codex now recovers when resuming a session with no rollout found.
* Canvas undo now keeps DOM and layer state in sync.
* Legacy storyboard autosize now accounts for out-of-flow content.
* Resolved macOS launch issues loading the app and OpenTUI binaries.
Archived chats are now easier to find. A new per-project **Status** filter lets you surface archived conversations without digging, so nothing gets permanently buried once it leaves your active list.
For design work, you can now set a **per-account Figma personal access token**, which unblocks pasting image fills directly from Figma.
This release also focuses on AI chat reliability. Long Tempo Inference turns in opencode no longer time out with 401 errors, Codex gracefully falls back when a session can't be resumed, and the `/mcp` command is now limited to Claude where it actually works.
On the canvas side, undo now keeps the DOM and layer state aligned, and legacy storyboard autosize correctly includes out-of-flow content. macOS users should also see fewer launch problems loading the app and its bundled TUI binaries.
**Slack integration gains full bot-capability parity with 13 tools, including DMing anyone.**
### New
* Slack MCP now supports 13 tools, including DMing anyone via slack\_send\_dm.
### Improved
* MCP-posted Slack threads stay in their workspace and route inbound DM replies.
### Fixed
* Custom Agents actions column (settings/status/⋮) stays visible.
Slack support takes a big step forward with full bot-capability parity. You now get 13 tools, including the ability to DM anyone directly with `slack_send_dm`.
Agent conversations in Slack are more reliable too: threads posted via MCP continue in their original workspace, and inbound DM replies are routed correctly.
On the settings side, the Custom Agents actions column (settings, status, and the ⋮ menu) now stays visible so you can always reach those controls.
**Canvas migration is more reliable and now recovers from page-config errors automatically.**
### Fixed
* Legacy canvases migrate more reliably and self-heal from page-config errors.
Opening older canvases is now more dependable. We hardened the migration path for legacy canvases so they convert cleanly to the current format.
When a canvas hits a page-config error, Tempo now detects and repairs it automatically instead of leaving the canvas in a broken state, so you're less likely to run into load failures on existing boards.
**Tempo agents now work end-to-end with Slack—posting as the Tempo bot, continuing threads in-workspace, and supporting multiple workspaces.**
### New
* AI can post to Slack as the Tempo bot, with support for multiple Slack workspaces.
* Slack threads now continue in the same Tempo workspace via thread-aware routing.
* Daily designer-bug Slack report added.
* Pin workspaces to the top of the sidebar.
* Right-click menu on board column headers, Linear-style.
* Figma-parity marquee selection on the canvas.
* Bare issue references in chat autolink to clickable chips.
### Improved
* Custom Agents tab: full page, click-to-sort, Last run column, and richer trigger cards.
* Create-flow trigger modal offers all issue filters and a real assignee list.
* Claude MCP servers get a reconnect/authenticate action and a scope badge.
* Help menu slimmed to Documentation and Community (Discord).
* Tailwind class editing moved into a dedicated "Classes" style-panel row.
* OpenCode skips permission prompts and surfaces subagent tool calls in the Agent accordion.
### Fixed
* Cron trigger schedules now display in your local timezone.
* Private Slack channels now appear in the trigger picker, and the reconnect spinner clears.
* Slack file\_share messages can now trigger custom agents.
* Hosted-artifact preview card stays visible in AI chat.
* Tempo Inference is no longer shown as active without an active plan or usable credits.
* Issue create-modal "+" pre-selection no longer hits a race condition.
* OpenCode free-tier binding rebuilds on resume so glm-5.2-tempo-free resolves.
This release focuses heavily on connecting Tempo agents to Slack. The AI can now post to Slack as the Tempo bot, and integrations work across multiple Slack workspaces. Threads started in Slack continue in the same Tempo workspace thanks to thread-aware trigger routing, private channels show up in the trigger picker, and `file_share` messages can kick off custom agents. A new daily designer-bug Slack report is also included.
The Custom Agents experience got a broad polish: a full-page layout, click-to-sort columns, a Last run column, and richer trigger cards. The create-flow trigger modal now offers all issue filters and a real assignee list, and cron schedules display in your local timezone.
On the canvas, marquee selection now matches Figma's behavior, with unified measurement typography and consistent guide colors. Elsewhere, you can pin workspaces to the top of the sidebar, right-click board column headers for a Linear-style menu, and bare issue references in chat turn into clickable chips.
Several fixes round things out, including a corrected Tempo Inference status that no longer appears active without a plan or credits, a race-free issue create modal, a persistent hosted-artifact preview card, and reconnect/scope improvements for Claude MCP servers.
**Agents can now fire on issue assignment with per-property filters on issue triggers.**
### New
* New agent trigger: issue.assigned, plus per-property filters on issue triggers
* MCP tools to get share links for issues and docs (members only)
* Canvas keyboard shortcuts to reorder layers (Figma-style \[ ], Cmd+\[ ])
* Draggable gap handles on zero-gap seams in canvas
* Press I to activate the eyedropper while a color picker is open
* Bug reports now capture Issues/kanban board state
* Slack triggers can target private channels; broader Slack bot scopes
### Improved
* Faster chat: hidden chat tabs no longer re-render on every token
* New Canvas opens instantly with a loading state and no spinner delay
* Hosted-artifact previews now embed inline in chat
### Fixed
* Agent-created chats can now be renamed everywhere
* Kanban Stage picker options now flip correctly when Status filter is "is not"
* Cmd+Z right after a style change no longer loses the undo
* tempo:// deep-links work again and emoji survive markdown round-trips
* Canvas comments toolbar and pins now render in chat split view
* Fixed stuck snap guides and draw gestures swallowed near storyboard chrome
* Enter now selects the highlighted variable in style-panel pickers
* Doc/issue bodies no longer keep leading/trailing blank paragraphs or squished tables
* New workspaces no longer reuse a pushed branch name, fixing stale PR badges
Agents gain a new **issue.assigned** trigger and **per-property filters** on issue triggers, so you can scope automations to exactly the issues you care about. Slack integration also improves: triggers can now target private channels and the bot has broader scopes.
Canvas gets a batch of workflow upgrades — Figma-style keyboard shortcuts for reordering layers (`[`, `]`, and `Cmd+[`), draggable gap handles on zero-gap seams, and a New Canvas that opens instantly with a proper loading state. Several long-standing canvas annoyances are fixed too, including stuck snap guides, dropped draw gestures near storyboard chrome, a lost undo after style changes, and comment toolbars/pins not showing in chat split view.
Docs and issues render more cleanly: `tempo://` deep-links work again, emoji survive markdown round-trips, tables no longer squish, and stray blank paragraphs are trimmed. Chat also feels snappier — hidden tabs stop re-rendering on every token — and hosted-artifact previews now embed inline. Rounding things out, agent-created chats are renameable everywhere, and new MCP tools let members fetch share links for issues and docs.
**Promo codes can now be scoped to specific models.**
### New
* Promo codes can be applied to specific models in billing.
### Fixed
* Triggered-run chats now name correctly, restore selection, and search files in the Open modal.
* Style-panel scrubbing now wraps at the screen edge instead of stopping.
* Chat loading shimmer in the sidebar now stays in sync with other animations.
Billing now supports **model-scoped promo codes**, so discounts can be tied to specific models rather than applied broadly.
Agent-triggered runs got several fixes: chats are named correctly, the workspace shell and prior selection are restored, and you can now search files directly from the Open modal.
We also smoothed out a few interaction and visual rough edges — scrubbing values in the style panel now wraps continuously at the screen edge, and the sidebar's chat loading shimmer stays aligned with the rest of the interface's animations.
**Attach selected tickets to the issues-tab AI chat with Cmd+L.**
### New
* Cmd+L attaches selected tickets as context to the issues-tab AI chat.
* Added Hyblock Capital case-study video on the landing page.
* Added work-in-motion video showcase to /book and /agent-plus.
### Fixed
* Issue cards from AI chat now show the real title instead of raw content.
* The "You're offline" toast now clears once connectivity is confirmed.
* Sub-agent turns in issues now resolve the correct tool context.
The issues tab gains a faster way to bring work into AI chat: select one or more tickets and press **Cmd+L** to attach them as context, so the assistant can reason about exactly what you're looking at.
Several AI chat and connectivity issues are fixed. Issue cards generated from chat now display their real title rather than raw content-block output, and sub-agent turns resolve tool context correctly. The stale "You're offline" toast now disappears once the connection is verified.
The landing pages also get new video content, including a Hyblock Capital case study and a work-in-motion showcase on the /book and /agent-plus pages.
**Canvas comments now create and close instantly on submit.**
### Improved
* Layers panel header buttons now show hover tooltips.
### Fixed
* Canvas comments create and close immediately when you submit.
Submitting a comment on the canvas now creates it and closes the input in one step, so you no longer have to wait or click again.
The layers panel header buttons now display hover tooltips, making it clearer what each button does.
**You can now @-mention tickets and docs in every chat surface.**
### New
* @-mention tickets and docs in any chat.
* Redeem promo codes in Settings for billing.
* Archive chats instead of deleting them.
* Background-task pill now surfaces scheduled (Cron) jobs.
* Double-click an option in Ask a Question to select and advance.
### Improved
* File/folder move and rename now ask for confirmation, with smoother drag-and-drop.
* Clickable links in comments now open in your browser.
* Agent trigger changes now show instantly.
* Agents tab shows PR badges for agent workspaces.
* Bulk issue actions now apply as a single, faster update.
### Fixed
* AI chat memory compaction no longer fails (404 errors).
* Top-level folders once again expand by default in the file tree.
* Image attachments in AI chat now send reliably.
* Longer connection window prevents AI chat handshake timeouts.
* Questions asked on async chats now correctly wait for your input.
* Issue-linked canvas Open modal now shows the link's branch, not just main.
* Shift+A now wraps component instances at the correct call site.
* The Mixed corner-radius field is now clickable to edit or clear.
* New agents start disabled, and deleting one cancels in-flight runs.
* Agent workspaces no longer clutter the canvas homepage.
* Comment tool stays active after creating a comment.
* List-view group "+" now pre-fills the clicked group's properties.
* No more stray error echo after stopping an AI response.
The headline of this release is deeper AI chat integration: you can now **@-mention tickets and docs in any chat surface**, so pulling context into a conversation is a lot faster. Scheduled (Cron) jobs also appear in the background-task pill, and questions asked on async chats now correctly wait for your input.
We fixed a significant reliability issue where AI chat memory compaction was failing outright — that's resolved, alongside more dependable image attachment delivery and a longer connection window that prevents handshake timeouts.
Workspaces got some polish: moving or renaming files and folders now asks for confirmation, drag-and-drop feels smoother, and agent workspaces stay off the canvas homepage while showing PR badges in the Agents tab. New agents also start disabled by default, and deleting one cancels any in-flight runs.
Rounding things out, you can **archive chats** instead of deleting them, **redeem promo codes** in Settings, click links in comments to open them, and the file tree once again expands top-level folders by default.
**Issues now open and create near-instantly with optimistic updates.**
### New
* Draw a frame on the canvas to absorb enclosed elements and storyboards.
* Find in Canvas: search text with Cmd/Ctrl+F.
* Cmd/Ctrl+A selects all visible tickets in a view.
* Right-click to edit ticket properties in the list view.
* Create issues instantly with an optimistic card that rolls back on failure.
* New "PR Status" workspace sort follows the progress pipeline.
* Run custom AI actions from the Commit menu.
* Chat view left sidebar now shows only the layers panel.
* Free tier now uses GLM 5.2 (via Fireworks) instead of GPT-5.4-mini.
### Improved
* Redesigned and polished public share pages.
* Issues tab opens nearly instantly.
* Faster AI chat responses by caching inference tokens.
### Fixed
* Default views now load on every board, not just empty ones.
* Share links now authenticate correctly.
* Create modal defaults to the first visible stage instead of a hidden one.
* Optimistic issue creation no longer duplicates entries in Recent artifacts.
* Issue deletion works reliably across all delete paths.
* Column "+" now inherits its column's grouping.
* Comment composer avatar no longer shows "?" for non-assignee viewers.
* Swimlanes hide correctly for co-assignees filtered out of a view.
* Multi-assignee swimlane drag stays lane-scoped and reassigns the source lane.
* Storyboards no longer stay stuck larger than their content.
* Shift+A infers arrangement direction and skips absolute pinning in flex parents.
* Component instances drag into frames by their call site.
* Agents grid "Active" now reflects live streaming chats.
* Expired chat notice now covers cached-message sessions.
Issues get a big responsiveness boost this release. The Issues tab now opens nearly instantly, and creating an issue is optimistic — the card appears and the modal closes right away, rolling back only if the save fails. We also fixed several rough edges around views, deletion, grouping, swimlanes, and duplicate entries in Recent artifacts.
The canvas gains new tools: draw a frame to absorb the elements and storyboards inside it, and search on-canvas text with Find in Canvas (Cmd/Ctrl+F). Alongside these, we fixed storyboards getting stuck larger than their content, improved Shift+A arrangement behavior, and made component instances drag into frames by their call site.
Public share pages have been redesigned and polished, and share links now authenticate correctly. AI chat is faster thanks to cached inference tokens, and the free tier now runs on GLM 5.2. Rounding things out: a new "PR Status" workspace sort, custom AI actions in the Commit menu, and quality-of-life fixes across issues and agents.
**Paste Figma designs into the canvas as editable HTML storyboards.**
### New
* Paste Figma designs as editable HTML storyboards.
* SVG shape draw tools with a fill/stroke style panel on the canvas.
* Set a user-defined System Prompt injected into every AI conversation.
* Custom Agents can pick a reasoning effort paired with the model.
* Sonnet 5 now runs natively on Bedrock / Tempo Inference.
* Workspace PR badges now show a ✕ indicator for failing checks.
* AskUserQuestion cards are keyboard-focusable, with route-wide Cmd+L focus.
### Improved
* Collapsed zero-size elements are now framed by their child bounds.
* Kanban drag no longer re-renders every card on each slot change.
### Fixed
* Dragging a multi-assigned card between columns keeps its assignees.
* Edit labels from the kanban right-click menu, plus fixed create-on-subset.
* Canvas comments now appear in-app on the current working branch.
* Shared links hold members briefly during auth instead of denying access.
* Auth recovers from Clerk session-not-found with a grace period and retry.
* Color-picker variable swatches now show in unthemed realms.
* Workspace drag-reorder snap-back and a bulk-update crash are resolved.
* Sidebar tree no longer jitters from placeholder-height mismatches.
* Scaffolded projects handle spaced/Windows paths correctly.
* Windows dev server stops orphaning the Next.js dev lock.
This release brings design and canvas work closer together. You can now **paste Figma designs directly onto the canvas as editable HTML storyboards**, and draw with new **SVG shape tools** backed by a dedicated fill/stroke style panel.
AI chat gets more control: define a **System Prompt** that's applied to every conversation, choose a **reasoning effort** for Custom Agents, and run **Sonnet 5 natively** on Bedrock / Tempo Inference. AskUserQuestion cards are now keyboard-focusable, and Cmd+L focuses chat from anywhere.
Issues and workspaces are steadier too. Kanban drag is faster and no longer clears assignees on multi-assigned cards, labels are editable straight from the right-click menu, and PR badges flag failing checks. A batch of fixes also smooths out canvas comments on working branches, auth edge cases on shared links, color-picker swatches, sidebar scroll jitter, and Windows path and dev-server issues.
**Open ticket details no longer collapse when saved views load late.**
### New
* Custom Agents: early local-first prototype available as a draft preview.
### Fixed
* Issues: an open ticket's detail view stays open when the saved-views query resolves late.
This release fixes an annoying issue in the **Issues** view: previously, if the saved-views query finished loading after you'd already opened a ticket, the detail panel would collapse out from under you. Open tickets now stay open regardless of when saved views land.
We're also starting work on **Custom Agents**. This first cut is a local-first prototype and still a draft, so expect rough edges as we iterate on the design and capabilities.
**Add Sonnet 5 support and in-app prompt top-ups.**
### New
* Buy more prompts with in-app top-up purchases.
* Sonnet 5 available as a model (Tempo Inference falls back to 4.6).
* Canvas: share links via the new canvas\_share tool, with auto-shown screenshot.
* Canvas: "Paste here" on the backdrop drops content at the cursor.
* Canvas: live size pill while drawing an element or storyboard.
* AI chat: Ctrl-U / Ctrl-D half-page scroll in a focused chat.
* AI chat: fuzzy-match slash command picker instead of prefix-only.
* Command palette: run project scripts from Cmd+Shift+P.
* Org avatar now shows the unread / streaming chat indicator.
### Improved
* Free tier raised to 20 requests/day and 60/month.
* Bulk create-from-issues: instant tab switch, all rows, loading, and model picker.
* Canvas: new dropdowns, avatars, and badges.
### Fixed
* Issues: create result now opens the detail view; recovers from corrupt reads.
* Issues: board scroll preserved on detail nav; no card flash on view/org switch.
* Issues: long titles wrap in the new-issue modal instead of overflowing.
* Chat: input is focused when opening or switching chats.
* Canvas: pasted images are written next to the real source file.
* Style panel: Clip content row always shows, including on storyboard root.
* Workspaces: only the branch's own commits count as unpushed.
This release expands your model options and gives you a way to keep going when you run low. **Sonnet 5** is now selectable, with Tempo Inference falling back to 4.6, and you can grab more prompts through an **in-app top-up** without leaving the app. The free tier also gets more room: 20 requests per day and 60 per month.
The **canvas** picks up several additions: a `canvas_share` tool that generates a share link and shows a screenshot, a "Paste here" action that drops content right at your cursor, and a live size pill while you draw. Pasted images now save next to their real source file, and there are refreshed dropdowns, avatars, and badges.
**AI chat** gains vim-style Ctrl-U / Ctrl-D scrolling and a fuzzy slash-command picker, and the input now focuses automatically when you open or switch chats. The org avatar reflects unread and streaming chat activity.
On the **issues and workspaces** side, creating an issue now opens its detail view, board scroll is preserved during navigation, long titles wrap in the new-issue modal, and bulk create-from-issues is faster with instant tab switching, full rows, a loading state, and a model picker. Unpushed commit counts now include only the branch's own commits.
**Universal Cmd+P search now spans every artifact in your workspace.**
### New
* Cmd+P opens a universal search across all artifacts.
* @mention teammates in issues and docs.
* Revamped ticket page for issues.
* Git GUI controls in the workspace Changes tab.
* Mint share links directly on view\.tempo.new.
* Create a separate workspace for each multi-selected issue.
* OpenCode models now available in the chat model picker.
### Improved
* Redesigned changelog modal with accordion releases and canvas.
* Click context chips in chat to open the artifact they reference.
* AI-chat artifact cards are now clickable in side chats.
* Chat session dropdown shows loading and unread status.
* "Sort by Stage" now follows your org's custom pipeline order.
* Unified Open modal and polished the "+" new-tab dropdown.
* Added header-button tooltips and right-aligned the Add workspace tip.
### Fixed
* Fixed a dead open button and stray warning on issue-linked workspaces.
* To-do (task list) bodies now save when creating a ticket.
* Sidebar chat input stays editable while a new workspace spins up.
* Chat list no longer jumps around during streaming.
* Share-preview comment pins now track canvas pan and zoom.
**Search just got faster.** Press `Cmd+P` anywhere to search across every artifact in your workspace—docs, issues, canvases, and chats—from one place.
Collaboration also gets a boost: you can now **@mention teammates** in issues and docs, share links can be minted right on view\.tempo.new, and you can spin up a dedicated workspace for each issue you multi-select. The ticket page has been fully revamped, and the Changes tab now includes Git GUI controls.
Chat is more connected, too. Context chips and artifact cards in side chats are clickable, the session dropdown surfaces loading and unread status, and OpenCode models are available in the model picker.
We also fixed a batch of rough edges: a dead open button on issue-linked workspaces, task-list bodies dropping when creating tickets, the sidebar chat input locking up during workspace setup, the chat list jittering while streaming, and comment pins drifting on shared canvas previews.
**Issues now support multiple assignees per ticket.**
### New
* Issues: assign multiple people to a single ticket.
* Sidebar chat: pick reasoning effort with a new effort picker.
* Bug reports: attach screen recordings, files, and images.
* Canvas Playground: hands-on tour walking through every canvas action.
* Canvas: Ungroup gesture plus group/ungroup keyboard shortcuts.
### Improved
* Canvas: context-linking now requires a pushed canvas branch.
* Canvas: instant previews carry source CSS, removing the flash on load.
* Canvas: Ungroup and Explode now keep instant previews stable.
### Fixed
* Chat: attached images no longer disappear from bubbles when nav context is present.
* Auth: smoother handling of expired sessions and cleaner connection toasts.
* Issues: kanban board now stays scoped to the active org after switching orgs.
* Workspaces: right-click menu actions no longer deselect the current chat/workspace.
* Issues, MCP, and kanban board: assorted fixes.
The headline change this release is **multiple assignees per issue** — you can now share ownership of a ticket across several people instead of picking just one.
Canvas gets a lot of attention: a new **Canvas Playground** gives you a guided, hands-on tour of every canvas action, and you can now **ungroup with a gesture** or use dedicated group/ungroup keyboard shortcuts. Instant previews are steadier too, carrying source CSS to avoid the load flash and staying stable through Ungroup and Explode.
Chat picks up an **effort picker** in the sidebar so you can control reasoning effort, and attached images no longer vanish from bubbles when navigation context is present. **Bug reports** can now include screen recordings plus file and image attachments.
On the fixes side, expired sessions are handled more gracefully with cleaner connection toasts, the kanban board correctly scopes to your active org after switching, and right-click menu actions keep your current chat or workspace selected.
**Connection outages now surface as a persistent toast so you know when you're offline.**
### New
* Connection outages show a persistent toast with a confirmation before appearing.
### Fixed
* Canvas: reordering elements now keeps sibling positions correct after a move.
When your connection drops, Tempo now shows a persistent toast so you're aware the workspace is offline, instead of failing silently. The notice waits for confirmation before appearing to avoid false alarms from brief network blips.
On the design canvas, reordering elements no longer leaves siblings with stale positions. Move operations now apply real element-aligned edits, so the layout stays accurate after a reorder.
**Canvas elements and storyboards can now be nudged with arrow keys.**
### New
* Arrow-key positioning for absolute elements and storyboards on the canvas.
* "+" picker in right-panel chat to attach Docs, Canvases, and Issues.
### Improved
* Style panel shows "Mixed" when a multi-selection has differing values.
* Sending a message bumps a workspace up the Recent list immediately.
### Fixed
* Newly created wrapper is auto-selected after Wrap in Frame / Auto Layout.
* Doc body now always renders by waiting for the first sync before mounting.
* Shared canvases keep their styling instead of loading unstyled.
* Style panel class dropdown now populates on Vite v3 host projects.
* Frames no longer collapse to a default size on the legacy sizing path.
* AI-generated issue titles no longer show raw HTML entities.
* AI chat keeps the correct issue context instead of losing it.
This release focuses on the canvas and AI chat. You can now nudge absolute elements and storyboards with the arrow keys for precise positioning, and the right-panel chat gains a "+" picker for attaching Docs, Canvases, and Issues directly to a conversation.
The style panel is clearer for multi-selections: when selected elements disagree on a value, it now shows "Mixed" instead of a single misleading value. Workspaces also reorder in the Recent list as soon as you send a message, not just when a turn finishes.
Several fixes improve day-to-day reliability. Docs now wait for the first sync before mounting so the body always renders, shared canvases keep their styling, and the style panel's class dropdown populates correctly on Vite v3 hosts. We also fixed frame collapsing on the legacy sizing path, auto-selection of the new wrapper after Wrap in Frame / Auto Layout, garbled HTML entities in AI-generated issue titles, and lost issue context in AI chat.
**Canvas now snaps to equal spacing between objects.**
### New
* Gap snapping aligns objects to equal spacing as you move them.
* Add a workspace directly from the issues/docs chat picker.
### Improved
* Duplicate-and-drag now snaps consistently and releases the cursor cleanly.
### Fixed
* Text-only storyboards render crisply with no stray marquee or Line Break layers.
* Linked docs from an issue now open in the Docs tab.
* Search auto-expands a parent when only a child matches.
Canvas gets smarter alignment with **gap snapping**, which helps you line objects up with equal spacing as you drag them. Duplicate-and-drag also behaves more predictably now: it snaps the same way as a normal drag and no longer leaves the cursor stuck to the copy.
Text-only storyboards are cleaner too — iframes render crisply, and you'll no longer see a stray marquee selection or unwanted Line Break layers.
A few workflow fixes round things out: you can now add a workspace right from the issues/docs chat picker, linked docs open in the Docs tab from an issue's context, and search will automatically expand a parent item when the match is only on one of its children.
**Edit styles across multiple elements at once on the canvas.**
### New
* Edit styles for multiple selected elements at once.
* Switch existing Claude chats to Max effort via respawn.
* AI chat errors now upload a diagnostic automatically to speed up fixes.
### Improved
* Slash-command menu is keyboard-navigable with a reachable Show-more.
* Kanban boards are faster with virtualized card lists and smoother drag.
* Kanban board uses a cleaner overlay scrollbar.
### Fixed
* Right-click now shows the system spell-check correction menu.
* Default issue stages no longer use stages your org has hidden.
* Intrinsic-sized storyboards no longer collapse on auto-width roots.
The style panel now supports editing multiple selected elements together, so you can adjust shared properties across a group in one pass instead of element by element.
AI chat gets two upgrades: you can switch existing Claude chats to Max effort through a respawn, and when a chat errors, a diagnostic is uploaded automatically so issues can be tracked down without extra steps. The slash-command menu was rebuilt to be fully keyboard-navigable, including a reachable Show-more.
Issues see a round of fixes and performance work. Kanban boards now virtualize their card lists for smoother scrolling and dragging, use a cleaner overlay scrollbar, and respect any built-in stages your org has hidden when creating default stages.
On the canvas, intrinsic-sized storyboards no longer collapse on auto-width roots. We also restored the system spell-check correction menu on right-click in text fields.
**You can now restore an AI chat to a previous point in the conversation.**
### New
* Restore an AI chat back to any earlier point in the conversation.
### Improved
* Run and setup scripts are now stored in the database, configurable per org, user, and project.
* Smoother chat performance during heavy cross-device activity.
* Faster rendering of user message bubbles in chat.
### Fixed
* What's New modal links now stay within the correct release channel.
The headline change in this release is the ability to **restore an AI chat to a previous point** in the conversation. If a chat goes in the wrong direction, you can roll back to an earlier message and pick up from there.
Chat also feels faster. We stopped cross-device event floods from bogging down the renderer, and user message bubbles now render more efficiently, so the chat stays responsive even during busy sessions.
Run and setup scripts have moved to the database, so they can be configured at the org level as well as per user and per project. We also fixed the What's New modal so its links stay within the correct release channel.
**Smoother drag-and-drop and faster AI chat.**
### Improved
* Refined drag-and-drop behavior across the workspace.
* AI chat feels more responsive, with less lag when adding context.
**Canvas comments arrive with pins, threads, @-mentions, and resolve/reopen.**
### New
* Canvas comments: pins, threads, sidebar, @-mentions, and resolve/reopen.
* Set a per-canvas background color on the Design tab.
* Zoom control added to the canvas sidebar.
* Delete tickets with a confirmation step; delete dialogs unified across issues.
* Issues list view now nests stage groups under their parent status.
* Run /review directly in chat instead of the CLI terminal.
### Improved
* Clearer empty states for the Design sidebar, Issues views, and Docs.
* Recent artifacts show clearer visual hierarchy and accurate origin labels.
* Connection issues now distinguish 'internet down' from 'service down' instead of a blank screen.
* Chat artifact summary rows and plan-open behavior refined.
* Project and workspace order plus selection now stay in sync across chat and the design homepage.
* Restyled changelog modal with clearer headings and lighter chrome.
* Bolder, easier-to-scan sidebar titles.
### Fixed
* Mention picker no longer leaks raw email addresses; pasted-image thumbnails show in the collapsed composer.
* Links are now clickable in the docs and issues editor.
* Kanban drag-and-drop rebuilt for more reliable moves.
* Color picker now preserves alpha (transparency) when editing styles.
* Hid orphaned commit and right-sidebar buttons in empty and canvas-only states.
* Chat spinner in the nav rail is now scoped to the active org and reflects all workspaces.
# Install the Tempo MCP
Source: https://docs.tempo.new/guides/install-mcp
Use Tempo's issues, docs, Slack, Linear, and canvas tools from Claude Code, Codex, Cursor, cloud agents, any terminal — or from ChatGPT and claude.ai on the web
Tempo's tools are available **outside** the Tempo app in two forms. They
expose the same tools with the same explicit scoping — pick by **where your
AI runs**, and never set up both in the same client.
## Which one do I need?
| Where your AI runs | Install this | What you get |
| - | - | - |
| **A coding agent or terminal on a machine** — Claude Code, Codex CLI, Cursor, cloud agent sandboxes, CI | 📦 The npm package `@tempo-ai/mcp` — [jump to setup](#install-on-your-machine) | The FULL suite: issues, docs, comments, agents, run scripts, Slack, Linear — reads and writes — plus canvas tools (screenshots, share links) inside a Tempo repo |
| **A chat app in the browser or on your phone** — ChatGPT, claude.ai, Claude mobile, or any client that takes a remote MCP URL | 🌐 The hosted server `https://mcp.tempo.new/mcp` — [jump to setup](#connect-from-chatgpt-claude-ai-or-mobile-hosted-server) | Issues, docs, comments, agents, scripts, Slack, Linear — reads and writes. No canvas tools (there's no filesystem behind a URL) |
Rule of thumb: **if the client can run a command, use the npm package. If
all you can give it is a URL, use the hosted server.**
***
`@tempo-ai/mcp` brings Tempo's full tool surface to AI agents: issues, docs,
canvas comments, custom agents, run scripts, Slack (as your org's Tempo
bot), Linear, and — inside a Tempo-enabled repo — the canvas tools,
including **screenshots and share links with real previews** rendered from
your production components.
It works two ways, always with the same tools and the same explicit scoping:
* **As an MCP server** — for hosts that attach stdio MCP servers (Claude
Code, Codex CLI, Cursor, Claude Code cloud sessions).
* **As a CLI** — `tempo-mcp tools` / `tempo-mcp call` — for environments
with a terminal but no MCP support (Codex cloud, Grok Bot, CI jobs).
You don't need the Tempo app installed on the machine, and you don't need a
Tempo account before you start. You just need Node.js 20+.
## Install on your machine
### 1. Add the server to your client
```bash theme={null}
claude mcp add tempo -- npx -y @tempo-ai/mcp
```
Run it inside a project folder to scope the server to that project, or add
`--scope user` to enable it everywhere. To share it with your whole team
(and with Claude Code **cloud sessions**), commit a `.mcp.json` at the
repo root instead:
```json theme={null}
{
"mcpServers": {
"tempo": { "command": "npx", "args": ["-y", "@tempo-ai/mcp"] }
}
}
```
Add to `~/.codex/config.toml`:
```toml theme={null}
[mcp_servers.tempo]
command = "npx"
args = ["-y", "@tempo-ai/mcp"]
```
Add to `.cursor/mcp.json` in your project (or `~/.cursor/mcp.json` for
all projects):
```json theme={null}
{
"mcpServers": {
"tempo": { "command": "npx", "args": ["-y", "@tempo-ai/mcp"] }
}
}
```
Any agent or framework that supports **stdio MCP servers** works — the
config is always the same three values:
```json theme={null}
{ "command": "npx", "args": ["-y", "@tempo-ai/mcp"] }
```
If your agent has a terminal but no MCP support, skip the server
entirely and use the CLI: see
[Using the CLI instead of MCP](#using-the-cli-instead-of-mcp).
### 2. Use a Tempo tool — and sign in when asked
Ask your agent to "list my Tempo issues". The first tool that needs your
account opens your browser to the Tempo sign-in page (the agent also shows
you the link in case the window didn't appear). Sign in, or sign up — a new
account is walked through creating its organization right there — then go
back to your agent: the tool continues on its own. No login command, no
token to paste, no restart.
Credentials are stored locally per machine, so later sessions connect
silently. If your session ever expires, the next tool call simply prompts
you again.
Prefer to sign in ahead of time? `npx -y @tempo-ai/mcp login` does the same
browser flow from a terminal. Machines with no browser at all use a token
instead — see [Cloud and headless environments](#cloud-and-headless-environments).
### 3. That's it — canvas included
Canvas tools appear automatically when the agent runs inside a repo that has
Tempo canvases (a `tempo/tempo.config.json`). Screenshots and share links
render headlessly with Chromium, which **downloads itself automatically on
the first capture** (one-time, \~2 min; cached per machine afterwards). To
make that first capture instant, you can pre-install it:
```bash theme={null}
npx playwright install chromium
```
Share links additionally require the canvas's branch to be committed and
pushed. Locked-down environments can disable the automatic download with
`TEMPO_MCP_NO_AUTO_INSTALL=1` — captures then fail with the manual install
command instead.
Ask your agent to "share my canvas" to see it work.
## Cloud and headless environments
Cloud agent sandboxes have no browser, so the sign-in prompt can't complete
there. Instead, mint a **personal access token** on your own machine:
```bash theme={null}
npx -y @tempo-ai/mcp token create --name my-cloud-agent
```
The token (`tempo_...`) prints exactly once. Set it in the cloud environment
as `TEMPO_AUTH_TOKEN` — the CLI signs in with it automatically, no browser
involved. Verify from the environment with:
```bash theme={null}
npx -y @tempo-ai/mcp whoami
```
Everything the token's agent does acts as **you**; revoke it anytime with
`npx -y @tempo-ai/mcp token revoke ` (and list with `token list`).
Cloud sessions (from claude.ai/code or the desktop app) clone your repo
into Anthropic's sandbox and launch the repo's `.mcp.json` servers
inside it — so with the `.mcp.json` above committed, the full tool
surface (canvas included) works. Configure the **cloud environment**
once:
1. **Environment variable**: `TEMPO_AUTH_TOKEN=tempo_...`
2. **Network access**: add `*.convex.cloud` and `*.convex.site` to the
allowlist (Custom access), plus `tempo.new` for share links.
Optional speed-up: `npx playwright install chromium` in the setup
script (cached across sessions) so the first canvas capture skips the
automatic Chromium download.
Codex cloud has no MCP support, but its container has your repo and a
terminal — use the CLI. In the environment settings:
1. **Secret / env var**: `TEMPO_AUTH_TOKEN=tempo_...`
2. **Setup script**:
```bash theme={null}
npm install -g @tempo-ai/mcp
npx playwright install chromium # optional — first canvas capture auto-installs it otherwise
```
3. **Tell the agent the CLI exists.** Unlike MCP, a CLI isn't
advertised to the model automatically — add the
[AGENTS.md snippet](#tell-the-agent-the-cli-exists) to your repo
(Codex reads `AGENTS.md` on every task, local and cloud).
The agent then discovers and calls tools on its own:
```bash theme={null}
tempo-mcp tools --schemas
tempo-mcp call issues_list_issues --json '{"orgId": "..."}'
tempo-mcp call canvas_share --json '{"orgId": "...", "projectId": "...", "canvas": "tempo/designs/my-canvas"}'
```
Grok Bot's cloud computer attaches only remote-URL MCP servers, but it
has a persistent VM with a terminal — same CLI recipe as Codex cloud.
Tell the bot (once) to:
1. Clone the repo it should work on.
2. Install Node 20+, then `npm install -g @tempo-ai/mcp`.
3. Persist `TEMPO_AUTH_TOKEN=tempo_...` in its environment.
4. Add the [AGENTS.md snippet](#tell-the-agent-the-cli-exists) to the
repo (or the bot's standing instructions) so it knows to reach for
the CLI.
From then on it uses `tempo-mcp tools` / `tempo-mcp call` for
everything, canvas share included.
Store the token as a CI secret, expose it as `TEMPO_AUTH_TOKEN`, and
call any tool from a job step:
```bash theme={null}
npx -y @tempo-ai/mcp call canvas_share --json "$ARGS_JSON"
```
Chromium auto-installs on the first capture; pre-install it
(`npx playwright install chromium`) or use an image that ships it to
keep job time down.
## Using the CLI instead of MCP
Every tool the MCP server exposes is also callable directly — same
pipeline, same scoping, no per-tool differences:
```bash theme={null}
tempo-mcp tools # list every tool
tempo-mcp tools --schemas # include argument schemas
tempo-mcp call --json '{"orgId": "...", ...}'
```
`call` prints the tool result to stdout and exits non-zero on tool errors.
`--json -` reads the argument object from stdin. Both commands accept
`--toolsets` and `--readonly`.
### Tell the agent the CLI exists
An MCP host advertises Tempo's tools to the model automatically. A CLI
doesn't — like `gh` or `aws`, the agent only uses it when its instructions
say to. Add this to your repo's `AGENTS.md` (Codex reads it on every task)
or your agent's standing instructions:
```markdown theme={null}
## Tempo
For Tempo issues, docs, comments, agents, Slack, Linear, and canvas
screenshots/share links, use the Tempo CLI:
- `tempo-mcp tools --schemas` — list every tool with its argument schema
- `tempo-mcp call --json '{...}'` — invoke a tool
Every scoped tool needs an explicit `orgId` (and sometimes `projectId`) —
discover them first with `tempo-mcp call tempo_list_orgs --json '{}'` and
`tempo-mcp call tempo_list_projects --json '{"orgId": "..."}'`.
```
Harmless to keep alongside an MCP setup — hosts with MCP attached will
just use the tools directly.
## Connect from ChatGPT, claude.ai, or mobile (hosted server)
Chat apps on the web can't run `npx` — they connect to Tempo's **hosted MCP
server** instead. One URL for every client:
```
https://mcp.tempo.new/mcp
```
Paste it, complete the Tempo sign-in consent (OAuth), and every call runs
as your Tempo account — reads and writes, with org membership re-verified
server-side on every call. Canvas tools aren't available here (there's no
filesystem behind a URL) — use the npm package in a coding agent for design
work.
1. Settings → **Security and login** → enable **Developer mode**.
(Without it, custom plugins only run search-style deep-research
tools — Developer mode unlocks full tool calling.
Business/Enterprise workspaces: an admin must first allow it under
Workspace Settings → Permissions & Roles → Connected Data.)
2. Settings → **Plugins** → **+** → name it "Tempo", paste
`https://mcp.tempo.new/mcp`, authentication **OAuth**.
3. Approve the Tempo sign-in consent.
4. In a chat, enable the Tempo plugin from the **plus menu**. Write
actions ask for confirmation before executing.
1. Settings → **Connectors** → **Add custom connector**.
2. Paste `https://mcp.tempo.new/mcp` and complete the OAuth consent.
Any client that supports **streamable-HTTP MCP servers with OAuth**
works with the same URL. Coding agents can use it too
(`claude mcp add --transport http tempo-hosted https://mcp.tempo.new/mcp`),
but prefer the npm package there — it adds canvas tools.
**Connection options** (query params on the URL):
| Param | Effect |
| - | - |
| `?readonly=1` | Strict read-only connection — write tools are never even registered |
| `?toolsets=issues,docs` | Serve only the named toolsets (`issues`, `docs`, `comments`, `agents`, `scripts`, `slack`, `linear`) |
An authorized connector acts as **you** — only connect clients you trust,
or pin them read-only with `?readonly=1`.
## How scoping works
This is identical on both the npm package and the hosted server. Your
sign-in (browser, token, or OAuth consent) provides **identity**; every tool call
carries **explicit scope**. The AI discovers your organization and project
ids with the built-in `tempo_list_orgs` and `tempo_list_projects` tools and
passes them on each call — you never configure an org on the connection, and
membership is re-verified server-side on every call.
## Options
| Flag | Effect |
| - | - |
| `--readonly` | Registers no write tools at all — good for a first session |
| `--toolsets issues,docs` | Serve only the named toolsets (`issues`, `docs`, `comments`, `agents`, `scripts`, `slack`, `linear`, `canvas`) |
Add flags after the package name, e.g. `npx -y @tempo-ai/mcp --readonly`.
## Good to know
* **Inside the Tempo app you don't need this** — the app provides the same
tools natively (and skips a user-installed copy to avoid duplicates).
* Writes act as **you** — the signed-in Tempo user — with the same org
permissions you have in the app. That includes anything a
`TEMPO_AUTH_TOKEN` holder does, so treat tokens like passwords and revoke
ones you stop using.
* `npx -y @tempo-ai/mcp logout` clears the stored credentials (the next
tool call prompts for sign-in again); `npx -y @tempo-ai/mcp whoami` shows
who's signed in.
* Set `TEMPO_MCP_NO_BROWSER=1` in the server's environment if you never want
a browser window opened from a tool call — the sign-in link is still
shown by the agent.
# Keyboard Shortcuts
Source: https://docs.tempo.new/guides/keyboard-shortcuts
A cheat sheet of every keyboard shortcut in Tempo, grouped by where you use it — global palettes, the chat surface, and the design canvas.
Tempo is built around two main surfaces — **chat** and **design** — plus a set of global palettes that work from anywhere. This page lists every shortcut for each, so you can keep your hands on the keyboard.
Shortcuts are written as `Cmd+K` on macOS and `Ctrl+K` on Windows and Linux. Where the two differ, both are listed. Letter keys are case-insensitive — `R` and `r` press the same key.
## Global
These work from anywhere in the app.
### Palettes
| Shortcut | Action |
| - | - |
| `Cmd+P` / `Ctrl+P` | Open the file palette — jump to a file by name |
| `Cmd+Shift+P` / `Ctrl+Shift+P` | Open the command palette — run any Tempo command |
| `Cmd+K` / `Ctrl+K` | Open the conversation palette — search and switch chats |
### Sidebar navigation
| Shortcut | Action |
| - | - |
| `Ctrl+1` … `Ctrl+9` | Jump to the Nth section in the left sidebar (Canvas, Chat, Docs, Issues, etc.) |
## Chat
These apply when the chat surface is active.
### Focus and tabs
| Shortcut | Action |
| - | - |
| `Cmd+L` / `Ctrl+L` | Focus the chat input (switches to the active chat tab if you're elsewhere) |
| `Cmd+W` / `Ctrl+W` | Close the most relevant non-chat tab (e.g. a diff or file you opened from chat) |
### Switching between chats
| Shortcut | Action |
| - | - |
| `Alt+Down` | Next chat in the sidebar |
| `Alt+Up` | Previous chat in the sidebar |
| `Cmd+[` / `Ctrl+[` | Back through your chat selection history |
| `Cmd+]` / `Ctrl+]` | Forward through your chat selection history |
`Alt+Up`/`Alt+Down` walks the sidebar in order. `Cmd+[`/`Cmd+]` is more like a browser's back/forward — it walks the chats you've actually visited recently.
## Design / Canvas
These work when the design canvas is focused.
### Tools
Press a single letter to switch tools — no modifier needed.
| Shortcut | Action |
| - | - |
| `V` | Select tool (cursor) |
| `F` | Frame |
| `R` | Draw element (rectangle) |
| `T` | Text |
| `Shift+R` | Draw row (flex row) |
| `Shift+C` | Draw column (flex column) |
| `Shift+G` | Draw grid |
| `Escape` | Exit the active draw tool and return to Select |
### Selection
| Shortcut | Action |
| - | - |
| `Escape` | Deselect — first the inner element, then the storyboard |
| `Cmd+A` / `Ctrl+A` | Select all storyboards |
| `Cmd+Shift+A` / `Ctrl+Shift+A` | Select inverse — everything not currently selected |
| `Up` | Move selected element up within its parent stack |
| `Down` | Move selected element down within its parent stack |
| `Left` | Move selected element left within its parent stack |
| `Right` | Move selected element right within its parent stack |
### Edit
| Shortcut | Action |
| - | - |
| `Cmd+C` / `Ctrl+C` | Copy the selected element |
| `Cmd+X` / `Ctrl+X` | Cut the selected element |
| `Cmd+V` / `Ctrl+V` | Paste from the clipboard |
| `Cmd+D` / `Ctrl+D` | Duplicate the selected element |
| `Delete` / `Backspace` | Delete the selected element or storyboard |
| `Cmd+Z` / `Ctrl+Z` | Undo |
| `Cmd+Shift+Z` / `Ctrl+Shift+Z` | Redo |
### Send to chat
| Shortcut | Action |
| - | - |
| `Cmd+L` / `Ctrl+L` | Add the selected canvas element to the chat as context |
| `Cmd+Shift+C` / `Ctrl+Shift+C` | Copy a high-quality screenshot of the selected element to the clipboard |
`Cmd+L` is the fastest way to ask the AI about something specific you can see — select the element, hit `Cmd+L`, and start typing your question.
### Zoom and view
| Shortcut | Action |
| - | - |
| `Shift+1` | Zoom to fit — frame everything in view |
| `Shift+2` | Zoom to selection — fit the selected element |
| `Cmd+=` / `Ctrl+=` | Zoom in |
| `Cmd+-` / `Ctrl+-` | Zoom out |
| `Cmd+0` / `Ctrl+0` | Reset zoom to 100% |
| `Cmd+\` / `Ctrl+\` | Toggle the right-hand panel (Layers / Style) |
## System
| Shortcut | Action |
| - | - |
| `Cmd+Option+I` / `Ctrl+Shift+I` | Open Chrome DevTools (for debugging) |
| `Ctrl+Cmd+F` (macOS) | Toggle fullscreen |
# Migrating From Web to Desktop
Source: https://docs.tempo.new/guides/migrate
A step by step guide
On **June 14** we'll wind down the Tempo web editor and move everything to the desktop app. Until then, keep using it at [app.tempo.build](https://app.tempo.build) — your prompt credits work in the new app too, and we're **doubling available credits** during the migration.
Our new **local desktop app** is a significant rebuild of Tempo from the ground-up — faster, more feature-complete, and far more powerful.
**Why are we making the change?** Short answer: we couldn't fully build Tempo using Tempo (meta, I know). Our own engineers were gravitating back to tools like Cursor \~70% of the time, and we only wanted to sell a product we use ourselves. The new app fixes that — the whole team is now on it **8+ hours a day, every day**. We love it and hope you will too.
The new app brings with it a few key changes:
1. **Local** — run your code on your machine. Better performance, code privacy, and security.
2. **Frontier agents** — handle tasks of any size and complexity, with tokens direct from Anthropic / OpenAI / OpenCode.
3. **Git Worktrees** — run chats across multiple copies of your codebase in parallel so you can work on multiple features at once.
Watch the quick intro below, then follow the steps to get set up.
Here's how you get started:
Download from [tempo.new](https://tempo.new) and sign in with your existing account.
You'll need **[Node.js](https://nodejs.org/en/download)** and **[Git](https://git-scm.com/downloads)** installed on your machine. Tempo will alert you if either is missing.
Click **+ Add Project**, paste your repo's git clone URL, or pick a local folder with a copy of your codebase checked-out.
**If you haven't already please commit then push your project to git** from the git tab.
The new app gives you the choice of three coding agents — each works with different subscriptions.
| Agent |
ChatGPT |
Claude |
Tempo Inference |
API key |
| Claude Code |
— |
✅ |
✅ |
✅ |
| Codex |
✅ |
— |
✅ |
✅ |
| OpenCode |
— |
— |
✅ |
✅ |
Pick the option that matches your setup and follow the login instructions below.
**Paying for Tempo on the web app?** Your subscription and any unused prompt credits carry over automatically. [Learn More](/guides/tempo-web-billing)
1. Click the **Terminal** tab at the bottom of any workspace (some layouts call it **CLI**).
2. Type `claude /login` and press **Enter**.
Prefer an API key? Choose **"Use an API key"** at the browser prompt and paste one from [console.anthropic.com](https://console.anthropic.com).
1. Click the **Terminal** tab at the bottom of any workspace.
2. Type `codex login` and press **Enter**.
Prefer an API key? Pick **"Use an API key"** at the prompt and paste one from [platform.openai.com/api-keys](https://platform.openai.com/api-keys).
1. Click the **Terminal** tab at the bottom of any workspace.
2. Type `opencode login` and press **Enter**, then follow the on-screen prompts.
OpenCode accepts API keys from Anthropic, OpenAI, and other supported providers.
No sign-in needed. Open the **Chat** tab, pick any model from the dropdown at the bottom, and start chatting — your Tempo plan covers it. [Learn More](/guides/tempo-web-billing)
For users on base plans (\<\$100), it is strongly recommended to use Sonnet/GPT-5.4 on low effort as **Opus**/**GPT-5.5** on **high** effort burn credits extremely fast.
🎉 You're all set. Open the **Chat** tab and start prompting.
To see a live preview, just ask the AI to:
* **Configure a run script**, then click **Play** in the top bar — or edit `tempo.config.json` yourself ([reference](/guides/setup-run-scripts)).
* **Create a canvas** for a Figma-style design surface — or right-click the Design tab → **New Storyboard**.
## Once you're in — 3 quick tips
A short follow-up walkthrough covering the most common things to set up after install:
1. **Add a run script.** Configure one in `tempo.config.json` (or ask the AI to do it), then hit **Play** to see your live preview. [Reference](/guides/setup-run-scripts)
2. **Set your environment variables.** Anything your app reads from `.env` lives in the project's env panel — don't forget API keys, DB URLs, etc.
3. **Generate a canvas with storyboards.** Ask the AI to create a canvas, or use "Route" storyboards to map full pages. Heads up: the chat now lives on the right *inside* the design tab.
Still stuck after that? It's almost always a git or AI authentication issue — DM me and I'll get you unblocked.
## What happens after June 14
On June 14 we'll wind down the Tempo web editor and move everything to the desktop app. Until then keep using it at [app.tempo.build](https://app.tempo.build) — your prompt credits work in the new app too, and we're **doubling available credits** during the migration ([Learn more](/guides/tempo-web-billing)).
A few things to know:
* **Your plan comes with you.** Subscriptions and remaining credits carry over automatically, and you can manage billing right inside the desktop app under **Settings → Plan**. [app.tempo.build](https://app.tempo.build) will also stay up as a read-only billing portal if you ever need it. [Learn more](/guides/tempo-web-billing).
* **As long as your project is on GitHub, you're set.** Push from the web app's git tab and you can clone it into the desktop app in seconds. Prefer a local copy? Hit **Download ZIP** on any project. If you'd rather we handle it, email [support@tempo.new](mailto:support@tempo.new) — we'll retain old repos for **60 days** after June 14 and can export them for you on request.
## Get help
We're running **1:1 onboarding sessions** — email [support@tempo.new](mailto:support@tempo.new) to grab a slot, or for any other questions or concerns.
# Multi-Repo Workspaces
Source: https://docs.tempo.new/guides/multi-repo
Set up and work with multiple repositories in a single Tempo workspace using git submodules.
# Multi-Repo Workspaces
Tempo supports working across multiple repositories within a single workspace. This is ideal for projects where your frontend, backend, shared libraries, or other services live in separate repos but need to be developed together.
Multi-repo in Tempo is powered by **git submodules**. This guide walks you through setting everything up and using Tempo's git features across all your repos.
Setup and git operations like commit, push, pull, and PR creation are all done through Tempo's AI chat — you won't need to open a terminal. File-level actions like staging, unstaging, and discarding are done by clicking buttons directly in the Changes panel.
***
## What Are Submodules?
A **git submodule** is a way to include one git repository inside another. Think of it like a bookmark — the parent repo doesn't contain the child repo's files directly. Instead, it stores a pointer (a specific commit reference) to the child repo.
### Why submodules are required
When you have multiple repos inside a parent folder, git needs to know how to handle them. There are only two possibilities:
1. **As a submodule** — The child repo stays independent. It has its own branches, commits, and remote. The parent repo just tracks which commit the child is on.
2. **As regular files** — If a child directory is *not* a submodule, git treats its contents as part of the parent repo. All those files get committed directly into the parent.
If your child repos are not set up as submodules, their entire contents will be committed to the parent repository. This means duplicate code, lost git history in the children, and a broken multi-repo workflow. Always use submodules.
### Submodule structure example
```
my-project/ ← Parent repo
├── .gitmodules ← Submodule config (auto-generated)
├── frontend/ ← Submodule → points to github.com/org/frontend
├── backend/ ← Submodule → points to github.com/org/backend
└── shared/ ← Submodule → points to github.com/org/shared
```
Each child folder (`frontend/`, `backend/`, `shared/`) is its own git repository with its own remote, branches, and history.
***
## Setting Up Your Project
### Creating a new multi-repo project
If you're starting from scratch, ask the AI to create a parent repo and add your existing repos as submodules.
**Prompt to send in Tempo:**
```
Create a new git repository in this folder to serve as my multi-repo parent.
Then add the following repos as git submodules:
- https://github.com/my-org/frontend as frontend/
- https://github.com/my-org/backend as backend/
- https://github.com/my-org/shared-lib as shared/
```
The AI will:
1. Initialize a new git repository in the workspace root
2. Run `git submodule add` for each child repo
3. Create the `.gitmodules` file that tracks the submodule URLs and paths
4. Make an initial commit recording the submodule setup
### Adding a submodule to an existing project
If you already have a parent repo and want to add another child repo:
**Prompt to send in Tempo:**
```
Add https://github.com/my-org/analytics as a git submodule at analytics/
```
### Verifying your setup
To confirm everything is wired up correctly:
**Prompt to send in Tempo:**
```
Check my git submodule setup. List all submodules and verify they're
properly initialized and pointing to the right remotes.
```
The AI will run `git submodule status` and report back the state of each submodule.
***
## Converting Existing Nested Repos to Submodules
If you already have child repos nested inside a parent folder but they were added as regular directories (not submodules), you need to convert them. This is a common situation — perhaps you cloned repos into a shared folder without setting up submodules first.
Converting nested repos to submodules requires removing the directory from the parent's git tracking and re-adding it as a submodule. The AI will handle this safely, but make sure all work in the child repos is committed and pushed before starting.
**Prompt to send in Tempo:**
```
The frontend/ directory in my project is a separate git repo but it's
not set up as a submodule — it's being tracked as regular files in the
parent repo. Convert it to a proper git submodule pointing to
https://github.com/my-org/frontend.
```
The AI will:
1. Remove the directory from the parent repo's index (without deleting the files)
2. Add it back as a proper submodule with `git submodule add`
3. Commit the conversion
Repeat this for each child repo that needs converting.
***
## Importing into Tempo
When importing a multi-repo project into Tempo, you must **select the parent folder** — not any of the individual child repos.
Click the "+" button to create a new workspace.
In the folder picker, navigate to and select your **parent repository folder** — the one that contains all the submodules.
Tempo runs `git submodule status` to discover all child repos. You'll see each repo appear as a separate section in the Changes panel.
**Always select the parent folder.** If you select an individual child repo instead, Tempo won't have visibility into the other repos. And if any child directories inside the parent are *not* submodules, Tempo will treat them as part of the parent repo — their files will show up in the parent's changes and get committed to it.
***
## Viewing Changes
Tempo's Changes panel (in the right sidebar) shows all modified files across your parent repo and every submodule. Files are grouped by repo so you always know which repository a change belongs to.
There are two view modes, and each repo can be set independently.
### Uncommitted Changes View
The **Uncommitted** view shows your working directory state — files you've modified, added, or deleted that haven't been committed yet.
Changes are organized into two sections per repo:
* **Staged** — Files queued for the next commit. These are ready to go.
* **Unstaged** — Files with changes that won't be included in a commit until you stage them.
**File actions** (hover over a file to see these):
* **Stage** — Move an unstaged file to the staged section
* **Unstage** — Move a staged file back to unstaged
* **View diff** — Open the diff for a staged file (file icon button)
* **Discard** — Revert a file to its last committed state (cannot be undone)
Clicking any file opens a diff view showing exactly what changed.
### vs Target Branch View
The **vs. Target Branch** view shows the cumulative diff between your current branch and a target branch (e.g., `main`). This is useful for reviewing everything that will be included in a pull request.
Each repo section has its own **target branch selector** — a compact pill showing the current target branch that opens a searchable dropdown where you pick which branch to compare against. By default, this is the repo's base branch (for submodules, Tempo auto-detects this from the remote's default branch).
When your branch is **behind** its remote upstream, a behind indicator appears with a **Pull** button to pull the latest changes.
### Per-Repo View Mode
When working with submodules, each repo section has its own view mode toggle. This means you can:
* View **uncommitted changes** in your frontend repo while simultaneously viewing the **vs. target branch diff** in your backend repo
* Switch modes per-repo without affecting the others
* Set different target branches for different repos
The toggle appears in each repo section as a dropdown below the section header.
***
## Committing Changes
Commits in a multi-repo workspace are per-repo — staged files in each submodule are committed to that submodule's repository.
### Committing with the header button
1. **Stage files** — In the Uncommitted view, click the **+** button on each file you want to commit
2. **Click "Commit"** in the header split button — This opens an AI chat that reviews your staged changes and creates commits with appropriate messages
3. The AI commits each repo separately — staged files in each submodule are committed to that submodule's repository
### AI-assisted commits
**Prompt to send in Tempo:**
```
Look at my uncommitted changes across all repos and create
appropriate commits with good commit messages for each repo.
```
The AI knows which repos have uncommitted changes and will commit each repo separately with appropriate messages.
***
## Push and Pull
### Ahead/behind indicators
Tempo tracks how your branch relates to its remote:
* **Ahead** — You have local commits that haven't been pushed. Shown as "X commits ahead of origin".
* **Behind** — The remote has commits you haven't pulled. Shown as "X commits behind origin" with a **Pull** button.
These indicators appear in:
* The **Changes panel** — A behind indicator with a Pull button appears inline for each repo that is behind
* The **workspace sidebar** — A warning triangle icon appears when any repo is ahead or behind, with a tooltip showing the counts. Right-click to see Push/Pull options.
* The **workspace context menu** — Shows "N commits ahead — Push" and "N commits behind — Pull" options (only when applicable)
### Pushing changes
You can push from several places:
* **Header split button** — The "Commit" button in the app header has a dropdown with **Push** and **Create PR** options
* **Workspace context menu** — Right-click a workspace and select "N commits ahead — Push"
**Prompt to send in Tempo:**
```
Push all my committed changes across all repos to their remotes.
```
### Pulling changes
You can pull from several places:
* **Changes panel** — Click the **Pull** button next to the behind indicator for each repo
* **Workspace context menu** — Right-click a workspace and select "N commits behind — Pull"
**Prompt to send in Tempo:**
```
Pull the latest changes from the remote for all my repos.
```
### Publishing a new branch
If your branch doesn't exist on the remote yet, Tempo shows a **Publish** button instead of Push. This creates the remote branch and sets up tracking.
***
## AI-Assisted Workflows
Tempo's AI is aware of your full multi-repo context — all submodules, their branches, staged/unstaged changes, and ahead/behind status. Here are common prompts for multi-repo workflows:
### Generate commit messages
**Prompt:**
```
Review my changes across all repos and commit them with
descriptive commit messages.
```
### Push everything
**Prompt:**
```
Push all committed changes in every repo to their remotes.
```
### Create a pull request
**Prompt:**
```
Create a pull request for my current branch. Include a summary
of all the changes across all repos.
```
The AI will generate a PR description that accounts for changes in the parent repo and all submodules.
### Pull from target branch
**Prompt:**
```
Pull the latest changes from main into my current branch
for all repos that are behind.
```
### Check sync status
**Prompt:**
```
Show me the git status of all my repos — which ones have
uncommitted changes, which are ahead or behind their remote?
```
# Organizations & Workspaces
Source: https://docs.tempo.new/guides/organizations-and-workspaces
How Tempo nests orgs, projects, workspaces, and worktrees.
* **Organization** — who can see what.
* **Project** — a repository registered to an org.
* **Workspace** — the project's folder on your machine.
* **Worktree** — an isolated branch where an AI chat runs.
## Organizations
The top-level container. Holds teams, projects, and all cloud data (docs, issues, canvases, chat history). Switching orgs changes what you see but moves nothing.
| | Private | Team |
| - | - | - |
| One per account | Yes (auto-created) | Create as many as you like |
| Visible to others | No | Yes |
| Local-only projects | Allowed | Remote URL required |
| Can be deleted | No | Yes (admin) |
**Roles** — Admin (rename, set logo, invite + remove members, delete the org) or Member (see and edit everything, can invite others, can't remove members).
**Invite teammates** — Settings → Members → enter emails. Invitees get a link and appear as active once they sign in.
## Projects
A repository registered to an organization. One project = one repo. Docs, issues, and canvases attach to the project and travel with it.
In a team org, projects must be a remote URL (GitHub, GitLab) and can't be registered twice. Private orgs also allow local-only projects (folders with no remote).
## Workspaces
A project's folder on your machine. It holds:
* **One local root** — your persistent checkout. Switch branches, run your dev server, push commits.
* **Zero or more worktrees** — short-lived sibling checkouts spawned by AI chat sessions.
Each workspace keeps its own canvas, chat history, dev-server config, and view modes. State is preserved per workspace.
Working across frontend + backend + shared libs at once? Multi-repo is supported via git submodules — see [Multi-Repo Workspaces](/guides/multi-repo).
## Worktrees
Every AI chat runs in its own git worktree on a throwaway branch — `{your-git-username}/{workspace-slug}` — created lazily on the agent's first edit. The main branch stays untouched.
| | Local root | Ephemeral worktree |
| - | - | - |
| Count per workspace | One | One per AI chat |
| Lifetime | Permanent | Ends with the chat |
| Branch | You choose | Auto-generated |
| Who edits it | You | The agent |
**Merge back** — review the diff in the **Changes** panel, commit and push from inside the chat (the agent runs `git push`), then open a PR on your git host.
**Discard** — end the chat or click **Discard**. Tempo runs `git worktree remove` and deletes the branch. Your local root is untouched.
# Quick Start
Source: https://docs.tempo.new/guides/quick-start
Install Tempo and connect Claude or Codex — about ten minutes.
## 1. Install
1. Open the `.dmg` and drag **Tempo** into Applications.
2. On first launch, if macOS warns you, go to **System Settings → Privacy & Security**, scroll to the bottom, and click **Open Anyway**.
3. Grant Full Disk Access and Accessibility when prompted (toggleable later in the same place).
1. Run the installer. If SmartScreen warns you, click **More info → Run anyway** — Tempo installs to your user folder, no admin needed.
2. If Tempo says Git is missing, install from [git-scm.com](https://git-scm.com) with the default options.
3. Allow Tempo network access so the live preview can run.
## 2. Connect your AI account
Pick a provider and sign in. For Claude or Codex, run the command in the **Terminal** tab at the bottom of any workspace.
Requires a paid Claude plan (Pro, Max, Team) or an API key from [console.anthropic.com](https://console.anthropic.com).
```bash theme={null}
claude /login
```
Requires ChatGPT Plus / Pro / Team or an API key from [platform.openai.com](https://platform.openai.com/api-keys).
```bash theme={null}
codex login
```
No CLI sign-in needed. Pick a Tempo Inference model from the chat's model dropdown to start.
You can try the free **GPT-5.4-mini** model with no setup. It's good for quick edits and exploration, but trails the paid Claude and Codex models on longer or more complex tasks.
***
Working across multiple repos? See [Multi-Repo Workspaces](/guides/multi-repo).
Need Tempo to run a different `dev` command, install step, or environment? See [Setup & Run Scripts](/guides/setup-run-scripts).
## Next
Write PRDs the agent reads as context.
Design surface backed by your real React components.
Built-in Kanban with agent pickup.
Claude or Codex in isolated git worktrees.
Stuck? Reach out at [support@tempo.new](mailto:support@tempo.new).
# Setup & Run Scripts
Source: https://docs.tempo.new/guides/setup-run-scripts
Configure workspace setup scripts and run actions for your projects in Tempo.
# Setup & Run Scripts
Tempo lets you configure **setup scripts** and **run scripts** for each project. Setup scripts run automatically when a new workspace is created, and run scripts are quick actions you can trigger from the header.
Scripts are split into two categories based on where they're stored:
* **Repo scripts** are stored in `tempo/tempo.config.json` (the canonical config location) and shared with your team when committed. This includes the Workspace Setup Script and Repo Run Scripts.
* **Private scripts** are stored only on your device and are never shared. This includes the Private Setup Script and Private Run Scripts.
***
## Setup Scripts
A **setup script** runs automatically every time a new workspace is created for a project. This is useful for tasks like symlinking environment files, installing dependencies, or any other initialization your project needs.
There are two flavors:
* **Workspace Setup Script** — stored in `tempo.config.json`. When committed, every team member gets the same setup script automatically.
* **Private Setup Script** — stored only on your device. Runs *after* the Workspace Setup Script. Use for personal symlinks (e.g. `.env.local`) you don't want to share with the team.
If both scripts are configured, the Workspace Setup Script runs first, then the Private Setup Script runs in a second terminal tab. Each is independent — a failure in one doesn't block the other.
### Configuring a setup script
1. Open **Settings** from the sidebar
2. In the **Projects** section, click the project you want to configure
3. Enter your shared script in the **Workspace Setup Script** textarea, or your per-device script in the **Private Setup Script** textarea
4. The script saves automatically when you click away
### The `TEMPO_SOURCE_PATH` environment variable
When a setup script runs, Tempo injects the `TEMPO_SOURCE_PATH` environment variable. This contains the absolute path to your project's original source directory (where you first imported the project from).
This is especially useful for symlinking files that shouldn't be committed to git:
```bash theme={null}
ln -sf $TEMPO_SOURCE_PATH/.env .env
ln -sf $TEMPO_SOURCE_PATH/.env.local .env.local
```
### How it works
* The Workspace Setup Script is read from the `tempo.config.json` **inside the workspace** at creation time
* The Private Setup Script is read from your device's local storage at the same moment
* Each runs in its own **background terminal tab** (they won't steal focus from your current work)
* The tabs are titled **"Setup Script"** and **"Private Setup Script"** respectively
* If a script exits with a non-zero code, a toast notification appears to alert you
***
## Run Scripts
**Run scripts** are named commands you can trigger from the header button. Use them for common tasks like starting a dev server, running tests, or building your project.
### Repo Run Scripts
Repo run scripts are stored in `tempo.config.json` alongside the setup script. When committed, they're shared with your entire team — everyone gets the same set of commands.
Great choices for repo run scripts:
* **Dev Server**: `pnpm dev` or `npm run dev`
* **Build**: `pnpm build`
* **Test**: `pnpm test`
* **Lint**: `pnpm lint`
* **Type Check**: `pnpm tsc --noEmit`
### Private Run Scripts
Private run scripts are stored only on your machine. Use these for personal workflows that don't need to be shared:
* **Debug mode**: `DEBUG=true pnpm dev`
* **Dev with specific port**: `PORT=4000 pnpm dev`
* **Watch tests**: `pnpm test --watch`
### Configuring run scripts
1. Open **Settings** and select your project
2. Under **Repo Run Scripts**, click **Add Script** to add a shared script
3. Under **Private Run Scripts**, click **Add Script** to add a personal script
4. Enter a **name** (e.g., "Dev Server") and a **command** (e.g., `pnpm dev`)
5. Click the **star icon** to set a script as the **default** action
You can only have one default script across both tables. Click the star on any script — repo or private — to make it the default.
### The generated "App dev server" script
If your project has an app dev command configured in `tempo/tempo.config.json` — canonically `apps[0].appStart` (the command Tempo uses to power route storyboards on the canvas; the legacy `scripts.appStart` spelling still works) — it automatically appears in the run-script dropdown as a read-only **App dev server** entry labeled *Generated by Tempo*. It can't be edited or deleted from settings — change the app dev command to change it — and it acts as the default action unless you star another script. When run, its `${PORT}` placeholder is resolved to the same port the canvas uses, so you never end up with two copies of your dev server.
### Running scripts
Once you have at least one run script configured (generated, repo, or private), a **play button** appears in the workspace header (to the left of the Commit button).
* **Click the play button** to run the default script
* **Click the dropdown arrow** to see all configured scripts, grouped by Repo and Private
* **Click the star icon** in the dropdown to change the default without opening settings
* The dropdown also includes an **"Add action"** row that takes you to project settings
Each run script opens in a new, focused terminal tab with the script name as the title. The `TEMPO_SOURCE_PATH` environment variable is also available in run scripts.
***
## Where scripts are stored
| Script Type | Location | Shared? |
| - | - | - |
| Workspace Setup Script | `tempo.config.json` | Yes, when committed |
| Private Setup Script | Browser localStorage | No, personal only |
| Repo Run Scripts | `tempo.config.json` | Yes, when committed |
| Private Run Scripts | Browser localStorage | No, personal only |
### `tempo.config.json` example
```json theme={null}
{
"scripts": {
"install": "pnpm install",
"start": "pnpm dev"
},
"setupScript": "pnpm install && ln -sf $TEMPO_SOURCE_PATH/.env .env",
"runScripts": [
{ "name": "Dev Server", "command": "pnpm dev" },
{ "name": "Build", "command": "pnpm build" },
{ "name": "Test", "command": "pnpm test" }
]
}
```
***
## Recommended Script Examples
### Setup Scripts
| Use Case | Command |
| - | - |
| Symlink env files | `ln -sf $TEMPO_SOURCE_PATH/.env .env` |
| Install dependencies | `pnpm install` |
| Full setup | `pnpm install && ln -sf $TEMPO_SOURCE_PATH/.env .env` |
| Copy config files | `cp $TEMPO_SOURCE_PATH/config.local.js config.local.js` |
### Repo Run Scripts (shared with team)
| Name | Command | Description |
| - | - | - |
| Dev Server | `pnpm dev` | Start the development server |
| Build | `pnpm build` | Production build |
| Test | `pnpm test` | Run the test suite |
| Lint | `pnpm lint` | Run linter checks |
| Type Check | `pnpm tsc --noEmit` | TypeScript type checking |
| Storybook | `pnpm storybook` | Launch Storybook |
### Private Run Scripts (personal)
| Name | Command | Description |
| - | - | - |
| Dev (debug) | `DEBUG=* pnpm dev` | Dev server with debug logs |
| Test Watch | `pnpm test --watch` | Watch mode for tests |
| Dev (port 4000) | `PORT=4000 pnpm dev` | Custom port |
| Profile Build | `ANALYZE=true pnpm build` | Build with bundle analysis |
### Private Setup Scripts (personal)
| Use Case | Command |
| - | - |
| Symlink personal env override | `ln -sf $TEMPO_SOURCE_PATH/.env.local .env.local` |
| Install personal dev tooling | `pnpm add -D my-personal-debug-tool` |
# Your Tempo web prompt credits
Source: https://docs.tempo.new/guides/tempo-web-billing
Using your prompt credits on the new desktop app.
Sign in to the new desktop app with the email you used on Tempo web. **Your active subscription and any unused prompt-pack credit appear automatically** — same payment method, same renewal, same invoice history. No claim flow needed.
## What's different about pricing in the new app
The new app meters in **dollars of usage**, not prompts.
* Your **subscription's monthly price** is the \$ amount that you can use towards inference
* Your **imported top-ups** (former prompt packages) add \$ to your balance
* Tempo bills you at break-even API pricing and does not make any profit on these plans.
For users on base plans (\<\$100), it is strongly recommended to use Sonnet/GPT-5.4 on low effort as **Opus**/**GPT-5.5** on **high** effort burn credits extremely fast.
## Managing your plan in the new app
Open **Settings → Plan & Usage** to see your current tier, monthly grant, and any imported top-up balance. The **Manage Plan** button opens the billing portal where you can update your card, change tier, cancel, or download invoices.
## FAQ
**Do I need to cancel my Tempo web subscription before switching?**
No. Both apps work in parallel until we sunset Tempo web — you won't be charged twice.
**I bought a \$50 prompt pack but didn't use it all. Do I lose the rest?**
No. The unused portion becomes a top-up balance in the new app, usable on any paid model.
**Should I rush to use my remaining prompts on Tempo web before sunset?**
No. Your remaining value carries over either way.
**My company pays for Tempo on a corporate card. Will the new app bill the same way?**
Yes — same payment method, same invoice email. Update anything via **Manage Plan**.
**Can I still cancel through Tempo web?**
Until the web app is sunset, yes. After sunset, cancel through the new app's **Manage Plan** button.
## "My plan didn't carry over"
**Don't see your plan after signing in?** This usually means you paid for Tempo with a different email than the one you're signing in with now (common when a work card is on a personal email, or vice versa).
Email **[support@tempo.new](mailto:support@tempo.new)** with:
* The email you used to sign in to the new Tempo app
* The email you used when you paid (it's at the top of your old receipts)
We'll link your account within one business day. Your plan and any leftover credit will appear the next time you sign in.
## Get help
Email [support@tempo.new](mailto:support@tempo.new) with any plan, credit, or billing question — we're monitoring it closely through the migration.
# Visual Review
Source: https://docs.tempo.new/guides/visual-review
Pixel-diff the storyboards you track on every pull request, and keep the PR red until a person approves each change.
# Visual Review
Visual review turns your canvases into a regression test. Mark a storyboard as **tracked**, and every pull request captures it, compares it with the version on your default branch, and posts a `visual-review` check on the PR. The check stays red until someone approves each changed, new, or removed storyboard in Tempo's review portal — approving flips it green instantly, no CI re-run.
Nothing lands in your repo except one workflow file: baselines are captured by CI and stored by Tempo.
## How it works
1. **Tracked is opt-in.** Only component storyboards carrying the `vrt` prop are captured.
2. **Every push captures.** A GitHub Actions workflow runs the published `@tempo-ai/visual-review` CLI: the check goes *pending* within about a minute, the capture and comparison finish roughly ten minutes later, and the PR gets a sticky comment linking the report.
3. **A person approves.** In the portal, each diff is approved or rejected (rejecting requires a comment). Approvals are keyed to the pixel change, so a re-push with identical pixels stays approved.
4. **Main is the baseline.** Pushes to your default branch publish the baselines the next PRs compare against.
## Before you start
* The repo is on **GitHub** and its CI is **GitHub Actions** (the only supported CI today).
* Canvases already work in Tempo (`tempo/tempo.config.json` exists).
* The repo is **connected as a project** in your Tempo organization (Home → *Connect your codebase*). That connection is the opt-in; there is no token to create.
* The [**Tempo Labs AI GitHub App**](https://github.com/apps/tempo-labs-ai/installations/new) is installed on the repo — the same app you install to connect repos. Approvals post the check through it, so without it the check never turns green. A GitHub admin of the repo's owner installs it.
## Set it up
The fastest path is to let the agent do the plumbing.
In a chat on the repo, say **"Set up visual review for this repo."** The agent runs a read-only check of every layer (canvas host, tracked storyboards, CI, workflow, connection, GitHub App, required check, first capture) and tells you what is missing before changing anything.
After you say yes, it adds `.github/workflows/visual-review.yml` from the template the CLI ships (an existing workflow is never overwritten), tracks a small first set of storyboards, and verifies each one renders identically three times so your baseline will not flake.
The PR that adds the workflow is also its first run: everything reports as **new**, and the check goes pending within a minute of the push.
Open the report from the check (or the sticky PR comment), approve the new storyboards, and watch the check turn green.
Once the first capture has landed, a repo admin adds `visual-review` as a required status check (Settings → Branches → your default branch). Choose **Any source** (or the Tempo Labs AI app) as the status source — never GitHub Actions, or the approval can't satisfy it.
Prefer to do it by hand? The workflow template is `templates/visual-review.yml` inside the `@tempo-ai/visual-review` npm package. Keep every `npx --yes @tempo-ai/visual-review@latest …` line as it is — Tempo's own repository runs those exact commands.
## Tracking storyboards
Add the `vrt` prop to a component storyboard in its canvas file, or use **Track visual regression** in the storyboard's menu on the Design tab.
```tsx theme={null}
{/* Per-storyboard tuning: threshold 0–0.5, masked regions in storyboard px */}
{/* Paused: stays in the manifest, neither captured nor gated */}
```
* Component storyboards only; route and HTML storyboards are not tracked.
* Tracked storyboards must render deterministically. Live clocks, random data, network content, and in-flight animation produce diffs on every push. Ask the agent to verify a storyboard before you push, or fix the input and retry.
* Start small — design-system boards are the best first candidates — and grow the set as it proves stable.
## Reviewing a pull request
| Check state | Meaning |
| - | - |
| Pending | Capturing and comparing (about ten minutes after the push) |
| Failing — *N of M need approval* | Open the report and approve or reject each change |
| Failing — *blocking error* | A tracked storyboard failed to render; fix it, the error can't be approved |
| Passing | Every change is approved, or nothing changed |
Two escape hatches, both deliberate:
* The `visual-review:bypass` label posts success without capturing. Use it for incidents only.
* Put `` in the PR body **only** when you are certain the PR changes no UI and no tracked storyboard. Any doubt means leave it out and let capture prove it.
Never add the no-visual-change marker to a PR template. GitHub keeps HTML comments in the PR body, so every PR would silently skip capture.
## Troubleshooting
| Symptom | Where to look |
| - | - |
| The check never appears | The workflow must exist on the PR branch with `id-token: write`. Pull requests from forks can't upload captures. |
| Pending forever | Ask the agent to run the visual review check-up; its *first run* row shows whether the capture reached Tempo and whether it failed. Capture failures are almost always the install step — the same fix as for the canvas host. |
| Approvals don't flip the check | The Tempo Labs AI app isn't installed on the repo, or the required check is bound to GitHub Actions instead of *Any source*. |
| Everything is "new" on a later PR | The workflow's `push` trigger must name your real default branch; that run publishes the baselines. |
| One storyboard flakes | Fix the nondeterministic input, or pause it with `vrt={{ skip: true }}` until you can. Don't untrack it to make a PR green. |
# Introduction
Source: https://docs.tempo.new/introduction
Tempo is the AI software factory for product teams, turning feedback, issues, and product requirements into reviewed pull requests.
Tempo is the **AI software factory for product teams**. It turns customer feedback, issues, and product requirements into reviewed pull requests while your team approves the decisions that matter.
Agents wake up from Slack messages, issue changes, GitHub events, schedules, and human approvals rather than waiting for one-off prompts. Each one produces a reviewable artifact, hands it back, and stops at the decisions that need a person.
PRDs, designs, issues, agents, and AI chat sessions all share the same context — your codebase — so nothing gets lost in the handoff between people, tools, or agents.
## Get started
Install Tempo, sign in, and connect Claude or Codex — about ten minutes.
## Features
Tempo is organized around five surfaces. Each one lives in the left sidebar and works with the same workspace, the same codebase, and the same agents.
Long-form PRDs, specs, and project notes. Link a doc to a chat session and the agent reads it as context every turn.
A Figma-style design surface where every frame is a live iframe of a real route or React component. Edits write back to source.
Built-in Kanban. Cards link to branches, PRs, canvases, and docs — agents can pick one up and open a PR.
Claude or Codex running inside an isolated git worktree per session, so destructive changes never touch your main tree.
Prompt-driven background workers triggered by Slack, GitHub, schedules, or issues. Each run is a Tempo session you can inspect and steer.
# Privacy Policy
Source: https://docs.tempo.new/legal/privacy
Tempo Privacy Policy
# Tempo Privacy Policy
**Last updated: June 17, 2026**
Tempo Inc., together with its affiliates ("Tempo", "we", "our" or "us"), provides UI/UX software development tools (collectively, the "Services"). This Privacy Policy ("Policy") describes how we collect, use, disclose and protect information from and about you through the Services, our website [https://www.tempo.new/](https://www.tempo.new/), any other website or mobile application that links to this Policy (the "Site"), and any other interactions (e.g., customer service and other communications) that you may have with Tempo.
PLEASE READ THIS POLICY CAREFULLY TO UNDERSTAND HOW WE HANDLE YOUR INFORMATION. IF YOU DO NOT AGREE TO THIS POLICY, PLEASE DO NOT USE THE SERVICES.
This Policy contains the following sections:
* Scope of this Policy
* The Information We Collect
* How We Use Your Information
* Legal Bases for Use of Your Information
* Online Analytics and Advertising
* How We Share and Disclose Your Information
* Retention of Your Information
* Your Rights and Choices
* Third Party Links and Features
* International Users
* How We Protect Your Information
* Privacy Information for California Users
* Changes to Our Policy
* Contact Information
***
## Scope of this Policy
For purposes of this Policy:
* **"Authorized User"** means an individual who accesses the Services as, or on behalf of, a Customer, including Customer personnel.
* **"Customer"** means an entity that has contracted with Tempo (such as through an applicable Services Agreement or our Terms of Use) to access our Services.
* **"Site Visitor"** means an individual who visits our Site outside of the context of our Customers' use of the Services.
This Policy applies to our handling of information about Site Visitors, prospective Customers, and Customers and Authorized Users (in relation to their procurement of the Services and management of their relationship with Tempo). We refer collectively to these categories of individuals as "you" throughout this Policy.
***
## The Information We Collect
We collect, store, and use certain information from or about you for the purposes described below:
### Information You Provide To Us
We collect a variety of information that you provide directly to us. For example, we collect information from you when you:
* Sign up for and use the Services
* Communicate with us (for example, when you communicate with our customer service teams or submit requests or questions to us via online forms, email, phone, chat, or otherwise)
* Interact with us when we reach out to you by phone or email in our sales and marketing efforts
* Attend our conferences or events or interact with us at other conferences or events
The types of data we collect directly from you include:
* First and last name
* Business contact information (email address, phone number, postal address)
* Personal contact information (email address, phone number, postal address)
* Username and password associated with the Services
* Your position and role in your company or organization
* In accordance with applicable law, photos, videos, or audio recordings of sales calls by voice or video chat
* Any other information you choose to directly provide to us in connection with your use of the Site or Services
### Information We Collect Through Automated Means
When you use our Site or Services, we and our service providers (who are third parties that perform services on our behalf) automatically collect certain information about your device and how you use the Site or Services, including your IP address, browser type, browser language, operating system, the state or country from which you accessed the Site or Services, software and hardware attributes (including device IDs), number of clicks, pages viewed and the order of those pages, the amount of time spent on particular pages, the date and time you used the Site or Services, and other similar information. From your IP address, we may be able to infer your general location (e.g., city/state or postal code).
To collect this information, we and our service providers may use "cookies" or similar tools that track, measure, and analyze the behaviors and usage patterns of our users. Cookies are small data files that can be stored on your browser and device so we can recognize you when you return. We use cookies for analytics purposes, to deliver certain features of the Site or Services, to help us understand how users engage with the Site or Services, and to improve your experience. You may set your web browser to notify you when you receive a cookie and to accept or refuse certain cookies. However, if you elect not to accept cookies, some functionality and areas of the Site or Services may be restricted. To learn how to manage your cookies, please follow the instructions from your specific browser, or if accessing the Site or Services via a mobile device, refer to the manufacturer's instructions.
### Information We Collect From Others
From time to time, we may collect information about you from other sources, including our affiliates, marketing vendors, and third-party databases. We use this information to supplement the information that we collect directly from you and for any of the purposes described in the next section.
When you "like" or "follow" us on Facebook, LinkedIn, Twitter or other social media sites, we may collect some information from you including your name, email address, and any comments or content you post relevant to us.
***
## How We Use Your Information
We use your information for various purposes depending on the types of information we have collected from and about you to:
* Provide and maintain our Site and Services
* Respond to your inquiries and requests for information, and provide you with more effective and efficient customer service
* Engage in analysis and research regarding use of the Site and Services, improve the Site and Services, and develop new products and services
* Measure the effectiveness of our advertising and deliver relevant advertising to you
* Suggest Services that may be of interest to you
* Secure our Site and Services and resolve technical issues being reported
* Comply with any procedures, laws, and regulations which apply to us where it is necessary for our legitimate interests or the legitimate interests of others
* Establish, exercise, or defend our legal rights where it is necessary for our legitimate interests or the legitimate interests of others
**Aggregate/De-Identified Information:**\
We may aggregate and/or de-identify any information collected through our Services so that such information can no longer be linked to you or your device ("Aggregate/De-Identified Information"). We may use such information for any purpose, including without limitation for research and marketing purposes, and may also share such data with any third parties, including advertisers, partners, and sponsors.
***
## Legal Bases For Use Of Your Information
The legal bases for using your information as set out in this Policy are as follows:
* Where we need to perform the contract we are about to enter into or have entered into with you for the Site or Services
* Where it is necessary for our legitimate interests (or those of a third party) and your interests and fundamental rights do not override those interests
* Where we need to comply with a legal or regulatory obligation
* Where we have your consent to process your information in a certain way
***
## Online Analytics And Advertising
1. **Analytics.**\
We may use third-party web analytics services (such as those of Google Analytics) on our Site or Services to collect and analyze usage information through cookies and similar tools; engage in auditing, research, or reporting; assist with fraud prevention; and provide certain features to you. To prevent Google Analytics from using your information for analytics, you may install the Google Analytics Opt-out Browser Add-on by [clicking here](https://tools.google.com/dlpage/gaoptout). If you receive email from us, we may use certain analytics tools, such as clear GIFs to capture data such as when you open our message or click on any links or banners our email contains. This data allows us to gauge the effectiveness of our communications and marketing campaigns.
2. **Online Advertising.**\
In using the Site or Services, we may allow select third-party advertising technology partners to place cookies or other tracking technologies on the browser of your device to collect information about you as discussed above. These third parties (e.g., ad networks and ad servers such as Google Ads, Twitter Ads, Bing Ads, and others) may use this information to serve relevant content and advertising to you as you browse the Internet, and access their own cookies or other tracking technologies on your browser to assist in this activity. If you are interested in more information about these online advertising activities, and how you can generally control cookies from being put on your computer to deliver tailored advertising, you may visit the [Network Advertising Initiative's Consumer Opt-Out link](http://optout.networkadvertising.org/), the [Digital Advertising Alliance's Consumer Opt-Out link](http://optout.aboutads.info/), or [Your Online Choices](http://www.youronlinechoices.eu/) to opt out of receiving tailored advertising from companies that participate in those programs. You can also opt out of personalized advertising from Google specifically through [Google Ads Settings](https://adssettings.google.com/). We do not control these opt-out links or whether any particular company chooses to participate in these opt-out programs. We are not responsible for any choices you make using these mechanisms or the continued availability or accuracy of these mechanisms. Please note that if you use these mechanisms, you may still see advertising on our Site or Services or across the Internet, but it will not be tailored to you based on your online behavior over time.
3. **Do Not Track ("DNT").**\
DNT is a privacy preference that web users can set in certain web browsers. We are committed to providing you with meaningful choices about the information collected on our Services through cookies and similar technologies, and that is why we provide the variety of opt-out mechanisms listed above. However, we do not currently recognize or respond to browser-initiated DNT signals.
***
## How We Share And Disclose Your Information
We will share your information in the following ways:
* **Service Providers.** We provide access to or share your information with select third parties who help us deliver or improve our Site and Services or perform services on our behalf, including billing and payment, advertising and marketing, analytics, fraud prevention, research, data storage or processing, security, and consulting and legal services. We will also access and share your information with third parties (including third-party vendors) for the purposes contemplated or permitted by our Terms of Use.
* **Affiliates and Subsidiaries.** We may share the information we collect with our affiliates and subsidiaries for the purposes outlined in this Policy.
* **Your Company.** If you are an Authorized User, we may provide your information to the company you are engaged or employed by to fulfill and enforce our applicable sales agreement with your company, and to inform your company regarding usage, support, or training needs.
* **Protection of Tempo and Others.** By using the Site or Services, you acknowledge and agree that we may access, retain, and disclose the information we collect and maintain about you if required to do so by applicable law or in a good faith belief that such access, retention or disclosure is reasonably necessary to: (a) comply with legal process (e.g., a subpoena or court order); (b) enforce any contracts with you; (c) respond to claims that any content violates the rights of third parties; and/or (d) protect the rights, property or personal safety of Tempo, its agents and affiliates, its users and/or the public.
* **Business Transactions.** In accordance with applicable legal obligations, your information may be provided to third parties in connection with a merger or acquisition (including transfers made as part of insolvency or bankruptcy proceedings) involving all or part of Tempo or our assets, or as part of a corporate reorganization or stock sale or other change in corporate control or business change, including for the purpose of determining whether to proceed or continue with such transaction or business relationship.
* **Aggregate/De-Identified Information.** From time to time, we may share Aggregate/De-Identified Information about use of the Site or Services or our user base with partners and others in our discretion, but such information will not identify you personally.
* **With Your Consent or at Your Direction.** In addition to the sharing described in this Policy, we may share information about you with third parties whenever you consent to or direct such sharing.
***
## Retention Of Your Information
ChatGPT plugin cloud workspaces expire after seven days without a new workspace operation. Workspace source archives, edit patches, operation results, and dependency caches are deleted on expiry. Status checks and job polls do not extend this period. Save standalone source and subsequent edits to a connected GitHub repository before expiry. GitHub copies and published share previews have separate retention policies. Legacy native container snapshots, if any, cannot be deleted individually and expire under Cloudflare’s 30-day snapshot policy; new workspaces do not create or restore them.
We keep your information for no longer than necessary for the purposes for which it is processed. The length of time for which we retain information depends on the purposes for which we collect and use it and/or as required to comply with applicable laws.
***
## Your Rights And Your Choices
You have certain rights with respect to your information as further described in this section.
### Your Legal Rights
If you would like further information in relation to your legal rights under applicable law or would like to exercise any of them, please contact us using the information in the "Contact Information" section below at any time. Your local laws (e.g., if you are a citizen or resident of the European Economic Area or California) may permit you to request that we:
* provide access to and/or a copy of certain information we hold about you
* update information which is out of date or incorrect
* delete certain information that we are holding about you
* restrict the way that we process and disclose certain of your information
Such laws may also permit you to revoke your consent to the processing of your information for certain purposes. We will consider all requests and provide our response within the time period stated by applicable law and as otherwise required by applicable law. Please note, however, that certain information may be exempt from such requests in some circumstances, which may include if we need to keep processing your information for our legitimate interests or to comply with a legal obligation. We may request you provide us with information necessary to confirm your identity before responding to your request.
### Marketing Communications
If, in accordance with applicable legal requirements, we send you marketing communications regarding our Services or the services of third parties that we believe will be interesting to you, you can ask us to stop sending such communications at any time by contacting us using the information in the "Contact Information" section below. In our marketing email messages, you can also opt out by following the instructions located at the bottom of such emails. Please note that, regardless of your request, we may still use and share certain information as permitted by this Policy or as required by applicable law. For example, you may not opt out of certain transactional emails from us, such as those confirming your requests or providing you with updates regarding our Policy or other terms.
SMS Communications: We collect mobile phone numbers for the purpose of sending SMS communications to users who have opted in. Mobile numbers are not shared with third parties for marketing purposes. Message frequency varies. Message and data rates may apply. Reply STOP to opt out at any time, HELP for help.
***
## Third Party Links And Features
Our Services may contain links to third-party websites. If you choose to visit these sites and use their services, please note that we are not responsible for their content or privacy practices. The collection, use, and disclosure of your information will be subject to the privacy policies of the third-party websites, and not this Policy. We urge you to read the privacy policies of these third parties.
***
## International Users
Your information is maintained and processed by us and our third-party service providers in Canada, the United States, and elsewhere. Thus, your information may be maintained, processed, and stored in other jurisdictions that may have different data protection laws than those in your country of residence. In the event that your information is transferred in these ways, please note that we comply with applicable legal requirements governing the transfer of information across borders. By using the Services, you agree to and acknowledge these transfers.
***
## How We Protect Your Information
Tempo takes a variety of technical and organizational security measures to protect the information provided to us from loss, misuse, and unauthorized access, disclosure, alteration, or destruction. However, no Internet or email transmission is ever fully secure or error free. Please keep this in mind when disclosing any information to us online.
***
## Privacy Information For California Users
If you are a California resident, California law requires us to provide you with some additional information regarding how we collect, use, and share your "personal information" (as defined in the California Consumer Privacy Act ("CCPA")).
### Categories of Personal Information We Collect and How We Use Them
Throughout this Policy, we discuss in detail the specific pieces of personal information we collect from and about our users. Under the CCPA, we are also required to provide you with the "categories" of personal information we collect and how we use each category of personal information. The categories we collect are:
| Category of Personal Information | How We Use this Personal Information |
| - | - |
| **Contact Information** (such as your full name, phone number, address, email address) | - Provide the Services and respond to your requests
- Contact you with relevant information and offers
- Analyze use of and improve the services
- Comply with law or defend our legal rights
- Security/fraud prevention
- Create aggregate/de-identified information |
| **Login Information** (such as your username and password) | - Provide the Services and respond to your requests
- Comply with law or defend our legal rights
- Security/fraud prevention
- Create aggregate/de-identified information |
| **Professional or Employment Information** (such as the name and address of the company you work for and your title) | - Provide the services and respond to your requests
- Contact you with relevant information and offers
- Analyze use of and improve the services
- Comply with law or defend our legal rights
- Security/fraud prevention
- Create aggregate/de-identified information |
| **Device and Online Information** (such as mobile device information, IP address, and information about your interaction with the Site) | - Provide the Site and Services and respond to your requests
- Contact you with relevant information and offers
- Analyze use of and improve the services
- Comply with law or defend our legal rights
- Security/fraud prevention
- Create aggregate/de-identified information |
| **Geolocation Data** | - Provide the Site and Services and respond to your requests
- Contact you with relevant information and offers
- Analyze use of and improve the services
- Comply with law or defend our legal rights
- Security/fraud prevention
- Create aggregate/de-identified information |
| **Other Information** (any other information you choose to provide directly to us) | - Provide the Site and Services and respond to your requests
- Contact you with relevant information and offers
- Analyze use of and improve the services
- Comply with law or defend our legal rights
- Security/fraud prevention
- Create aggregate/de-identified information |
**Do Not Sell Rights**\
Please note that the CCPA sets forth certain obligations for businesses that "sell" personal information to third parties. We do not engage in such activity as defined in the CCPA and have not engaged in such activity in the past twelve months from the Effective Date of this Policy.
### Your California Privacy Rights
The CCPA allows you to make certain requests about your personal information. Specifically, the CCPA allows you to request us to:
* Inform you about the categories of personal information we collect or disclose about you; the categories of sources of such information; the business or commercial purpose for collecting your personal information; and the categories of third parties with whom we share/disclose personal information.
* Provide access to and/or a copy of certain personal information we hold about you.
* Delete certain personal information we have about you.
* Provide you with information about the financial incentives that we offer to you, if any.
The CCPA further provides you with the right not to be discriminated against (as provided for in applicable law) for exercising your rights. Please note that certain information may be exempt from such requests under California law. For example, we need certain information to provide the Services to you. We also will take reasonable steps to verify your identity before responding to a request. If we are unable to verify you, we shall have the right, but not the obligation, to request additional information from you.
If you would like further information regarding your legal rights under California law or would like to exercise any of them, or if you are an authorized agent making a request on a California consumer's behalf, please contact us using the contact information provided below.
#### Shine the Light Disclosure
The California "Shine the Light" law gives residents of California the right under certain circumstances to request information from us regarding the manner in which we share certain categories of personal information (as defined in the Shine the Light law) with third parties for their direct marketing purposes. We do not share your personal information with third parties for their own direct marketing purposes.
***
## Changes To Our Policy
We reserve the right to amend this Policy at any time to reflect changes in the law, our data collection and use practices, or advances in technology. We will make the revised Policy accessible on the Services, so you should review the Policy periodically. You can know if the Policy has changed since the last time you reviewed it by checking the "Last updated" date at the top of the document. If we make a material change to the Policy, you will be provided with appropriate notice in accordance with legal requirements. By continuing to use the Services, you are confirming that you have read and understood the latest version of this Policy.
***
## Contact Information
Tempo welcomes your comments and questions regarding this Policy and the collection and use of your information. If you have questions or concerns, please email us at [support@tempo.new](mailto:support@tempo.new).
# Terms of Service
Source: https://docs.tempo.new/legal/terms
Tempo Terms of Service
# Tempo Inc. — Terms of Service
**Last Updated: May 8, 2026**
**Tempo Inc.** ("we") provides cloud-based UI/UX software development tools on a software as a service and platform as a service basis ("Service"). The Service is provided on a subscription basis as further described in this Agreement and on the website under specific subscription plans (including freemium offerings) offered by us from time to time. The Service is provided through the website [https://www.tempo.new/](https://www.tempo.new/) (the "Website"). This Agreement applies to anyone ("you") who subscribes for or otherwise uses the Service.
THESE TERMS ("TERMS") CONTAIN IMPORTANT LIMITATIONS ON REPRESENTATIONS, WARRANTIES, CONDITIONS, REMEDIES AND LIABILITIES THAT ARE APPLICABLE TO YOUR ACCESS AND USE OF THE SERVICE. ACCORDINGLY, YOU SHOULD READ THESE TERMS CAREFULLY BEFORE USING THE SERVICE. EITHER BY CLICKING A BOX INDICATING YOUR ACCEPTANCE OR BY EXECUTING AN ORDER FORM THAT REFERENCES THESE TERMS, YOU AGREE TO THE TERMS HEREOF. IF YOU ARE AN AGENT OR EMPLOYEE OF AN ENTITY, YOU REPRESENT AND WARRANT THAT (I) THE INDIVIDUAL ACCEPTING THIS AGREEMENT IS AUTHORIZED TO ACCEPT THIS AGREEMENT ON SUCH ENTITY'S BEHALF AND TO BIND SUCH ENTITY, AND (II) SUCH ENTITY HAS FULL POWER, CORPORATE OR OTHERWISE, TO ENTER INTO THIS AGREEMENT AND PERFORM ITS OBLIGATIONS HEREUNDER. IF YOU DO NOT ACCEPT THESE TERMS, THEN DO NOT USE THE WEBSITE OR ANY OF ITS CONTENT OR SERVICE.
If you have signed a separate order form (each, an "**Order Form**" and, together with these Terms, the "**Agreement**") relating to your use of the Service, the terms of the Order Form shall prevail if they conflict in any way with these Terms.
## 1. Service.
Subject to this Agreement, you can use the Service during the term (the "**Term**") prescribed by the Website, the Order Form or these Terms. You are responsible at your own expense for obtaining your own Internet access and any hardware and software required to use and access the Service. You shall use the Service solely for your internal business purposes, and you cannot sell our Service to anyone else. You have the necessary rights and authority to enter into and perform the obligations required of you under this Agreement. Your use of the Service will comply with all applicable laws and regulations. You will not infringe the rights of any third party (including without limitation any intellectual property rights or privacy rights) in your use of the Service.
You shall not (and shall not allow any third party to): (a) permit any third party to access or use the Service except as envisioned by the Service in its normal operation or specified herein; (b) alter, modify, debug, reverse engineer, decompile, disassemble, or otherwise attempt to derive or gain access to any software (including source code) associated with the Service; (c) use any unauthorized robot, spider, scraper or other automated means to access the Service, or engage in any scraping, data-mining, harvesting, data aggregating or indexing of the Service; (d) frame or mirror any content forming part of the Service; or (e) access the Service in order to (i) build a competitive product or service, or (ii) copy any ideas, features, functions or graphics of the Service. You shall keep all passwords and API keys provided to you safe and secure, and shall be responsible for all use of the Service using passwords or API keys issued to you. We can suspend your access to the Service if we reasonably believe that you have violated this Agreement.
The Website and Service are not intended for use by children and we reserve the right to terminate access to and use of the Service without notice to any User we have reason to believe is a minor. You shall: (a) reasonably cooperate with us in all matters relating to the Service; (b) respond promptly to any request by us to provide information, approvals, authorizations or decisions that are reasonably necessary for us to provide the Service in accordance with this Agreement; and (c) provide such you materials or information as we may reasonably request to provide the Service and ensure that such materials or information are complete and accurate in all material respects.
## 2. Ownership.
Except for the limited license to use the Software in Section 1 (Service), we retain all right, title, and interest in and to the Product (as defined below) and any intellectual property rights relating thereto, whether developed before or after the commencement of the Term. All rights to the Product and any intellectual property rights relating thereto not expressly granted to you pursuant to the foregoing is reserved by us and our licensors and third party vendors. There are no implied rights. "**Product**" means the Service, the client-side software or applications made available by us for you to install, download (whether onto a machine or in a browser), or execute as part of the Product (the "**Software**"), and the usage manuals and instructional materials for the Service or Software that are made available by us to you from time to time (the "**Documentation**").
## 3. Feedback; Usage Data; Customer Content; Privacy
You may, but are not required to, give us suggestions, feedback, or comments about the Product or related offerings ("**Feedback**"), in which case you give Feedback "AS IS". We may use all Feedback freely without any restriction or obligation. We may collect, analyze, and share with contractors and third party vendors any Usage Data or Customer Content in order to (i) provide the Service to you; or (ii) evaluate and improve or train the functions, features and operation of the Product or the products or services developed by Provider's third party vendors from time to time. "**Customer Content**" means data, information, or materials submitted by or on behalf of you to the Product (including any of your software shared or otherwise made available by you to us for purposes of providing the Service) but excludes Feedback. "**Usage Data**" means data and information about the provision, use, and performance of the Product and related offerings based on your use of the Product. This Agreement incorporates by reference our privacy policy (our "**Privacy Policy**") located [here](/legal/privacy), all of which terms and conditions shall be deemed to be included in this Agreement.
You are solely responsible for all Customer Content. You shall not upload or otherwise make available to us any Customer Content that: (a) constitutes an infringement, misappropriation, or violation of all intellectual property rights, proprietary rights, rights of publicity, rights of privacy, and any and all other legal rights protecting data, information, or intangible property throughout the world, including, without limitation, any and all copyrights, trademarks, service marks, trade secrets, patent rights, moral rights, sui generis rights in databases, and contract rights; (b) violates this Agreement, including, without limitation, the Privacy Policy or any applicable laws, rules, or regulations; (c) is unlawful, harassing, abusive, tortious, threatening, harmful, invasive of another's privacy, vulgar, defamatory, false, intentionally misleading, trade libelous, pornographic, sexually explicit, obscene, patently offensive, promotes racism, bigotry, hatred, or physical harm of any kind against any group or individual, promotes illegal activities or contributes to the creation of weapons, illegal materials, or is otherwise objectionable or illegal in any way; (d) contains software viruses or any other computer code, files or programs designed to interrupt, destroy, limit the functionality of any computer software or hardware or telecommunications equipment; (e) interferes with or disrupts the Service or servers or networks connected to the Service; (f) is harmful to minors in any way; (g) constitutes unsolicited or unauthorized advertising, promotional materials, junk mail, spam, chain letters, pyramid schemes, or any other form of duplicative or unsolicited messages, whether commercial or otherwise; or (h) causes us to violate any applicable law, rule or regulation, including those regarding the export of technical data.
## 4. Fees; Payments; Taxes.
You shall pay the fees, if any, prescribed by the applicable Order Form or the Website, at such times as may be prescribed therein. We reserve the right to increase our fees or terminate or limit any freeium use rights at any time upon prior notice. Fees are exclusive of applicable taxes. Late payments may be subject to interest or other charges set forth on the Order Form or the Website.
## 5. Term.
Freeium use can be terminated at any time. Otherwise, you shall have the right to use the Service during the Term. We can terminate or suspend your account at any time if you breach this Agreement. Upon any termination of this Agreement: (a) all rights granted to you hereunder shall terminate and we shall no longer provide access to the Service to you, and (b) you shall cease using the Service. Any obligations that have accrued prior to termination shall survive termination of this Agreement. In addition, the following Sections, as well as any other provisions herein which by their nature should survive, shall survive termination of this Agreement: Sections 2-12.
You may cancel your account and terminate this Agreement at any time by following the instructions on the Order Form applicable to you or, if you have not executed an Order Form, by following the instructions set out on the Website.
## 6. Disclaimers.
THE SERVICE IS PROVIDED ON AN "AS-IS" BASIS. WE MAKE NO REPRESENTATION OR WARRANTY WHATSOEVER, AND HEREBY DISCLAIM ALL REPRESENTATIONS AND WARRANTIES WITH RESPECT TO THE SERVICE (IN EACH CASE WHETHER EXPRESS OR IMPLIED BY LAW, COURSE OF DEALING, COURSE OF PERFORMANCE, USAGE OF TRADE OR OTHERWISE), INCLUDING ANY WARRANTY (A) OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, (B) THAT THE SERVICE WILL MEET YOUR REQUIREMENTS, WILL ALWAYS BE AVAILABLE, ACCESSIBLE, UNINTERRUPTED, TIMELY, OR OPERATE WITHOUT ERROR, (C) AS TO THE RESULTS THAT MAY BE OBTAINED FROM THE USE OF THE SERVICE, OR (D) AS TO THE ACCURACY OR RELIABILITY OF ANY INFORMATION OBTAINED FROM THE SERVICE.
YOU ACKNOWLEDGE THAT THE SERVICE IS HOSTED BY A THIRD PARTY HOSTING PROVIDER (THE "HOSTING CONTRACTOR") AND USES THIRD PARTY SERVER HARDWARE, DISK STORAGE, FIREWALL PROTECTION, SERVER OPERATING SYSTEMS, MANAGEMENT PROGRAMS, WEB SERVER PROGRAMS FOR DELIVERY OF THE SERVICE (THE "HOSTING CONTRACTOR SERVICE"). ADDITIONALLY, WE USE THIRD PARTIES TO HELP RECEIVE PAYMENTS ("PAYMENT PROCESSOR"). WE MAY CHANGE OUR HOSTING CONTRACTOR AND PAYMENT PROCESSOR AT ANY TIME. YOUR USE OF THE SERVICE IS SUBJECT TO ANY RESTRICTIONS IMPOSED BY THE HOSTING CONTRACTOR AND THE PAYMENT PROCESSOR, AS APPLICABLE. NOTWITHSTANDING ANY OTHER PROVISION OF THIS AGREEMENT, WE SHALL NOT BE LIABLE FOR ANY PROBLEMS, FAILURES, DEFECTS OR ERRORS WITH THE SERVICE TO THE EXTENT CAUSED BY THE HOSTING CONTRACTOR OR PAYMENT PROCESSOR. YOU ACKNOWLEDGE THAT ANY FEES PAYABLE FOR THE SERVICE REFLECT THE FACT THAT WE ARE NOT RESPONSIBLE FOR THE ACTS AND OMISSIONS OF THE HOSTING CONTRACTOR OR PAYMENT PROCESSOR, AND THAT WE COULD NOT AFFORD TO PROVIDE THE SERVICE AT THE PRICES OFFERED (OR ON A FREEMIUM BASIS) IF WE WERE RESPONSIBLE FOR THE ACTS OR OMISSIONS OF THE HOSTING CONTRACTOR OR PAYMENT PROCESSOR.
WE DO NOT REPRESENT OR WARRANT THAT THE SERVICE WILL PRODUCE ACCURATE OR RELEVANT CONTENT FOR YOU, OR OTHERWISE PERFORM WITHOUT INTERRUPTION OR ERROR. WHILE MAINTAINING REASONABLE DATA SECURITY MEASURES, WE CANNOT GUARANTEE THAT THE SERVICE IS SECURE FROM HACKING OR OTHER UNAUTHORIZED INTRUSION, OR THAT CUSTOMER CONTENT OR USAGE DATA WILL REMAIN PRIVATE OR SECURE UPON SUCH HACKING OR INTRUSION. WE DO NOT REPRESENT THAT THE OUTPUT GENERATED BY THE SERVICE WILL BE SATISFACTORY IN ANY WAY TO YOU. WE HAVE NO CONTROL OVER THE OPERATION OF THE THIRD PARTY LLMS THAT WE ACCESS AS PART OF OUR PROCESSING ACTIVITIES, THE OUTPUTS THEY GENERATE, OR THE CONTINUED AVAILABILITY OF ANY THIRD PARTY LLMS.
## 7. Limitations.
IN NO EVENT SHALL WE BE LIABLE FOR ANY INDIRECT, CONSEQUENTIAL, INCIDENTAL, SPECIAL, EXEMPLARY OR PUNITIVE DAMAGES (INCLUDING LOSS OF DATA, PROFITS OR REVENUE) ARISING OUT OF OR RELATED TO THE SERVICE OR THIS AGREEMENT, WHETHER SUCH DAMAGES ARISE IN CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE. TO THE FULLEST EXTENT PERMISSIBLE BY LAW, OUR TOTAL LIABILITY FOR ALL DAMAGES ARISING OUT OF OR RELATED TO THE SERVICE OR THIS AGREEMENT, WHETHER IN CONTRACT, TORT (INCLUDING NEGLIGENCE) OR OTHERWISE EXCLUDING OUR BREACH OF THE CONFIDENTIALITY PROVISIONS SET FORTH HEREIN, SHALL NOT EXCEED THE TOTAL AMOUNT OF FEES PAID BY US BY YOU DURING THE THEN-CURRENT TERM WHATEVER THE MOMENT OF THE THEN-CURRENT PERIOD. THE PARTIES AGREE THAT THE LIMITATIONS OF LIABILITY SET FORTH IN THIS SECTION 8 ARE A FUNDAMENTAL BASIS OF THE BARGAIN, THAT WE HAVE SET OUR FEES IN RELIANCE ON THE ENFORCEABILITY OF THESE PROVISIONS, AND THAT THEY SHALL APPLY NOTWITHSTANDING THAT ANY REMEDY SHALL FAIL ITS ESSENTIAL PURPOSE.
## 9. Indemnification.
You shall defend, indemnify and hold harmless us and our directors, officers, employees, agents, contractors and vendors ("**Indemnified Parties**") from and against any Claims based on: (i) your use of the Service in breach of this Agreement, and (ii) any claims relating in any way (whether pursuant to third party infringement claims or otherwise) to the Customer Content submitted by you or on your behalf to Service.
## 10. Confidentiality.
"**Confidential Information**" will include, but will not be limited to, any and all information associated with a party's business and not publicly known, including specific business information, technical processes and formulas, software, customer lists, prospective customer lists, names, addresses and other information regarding customers and prospective customers, product designs, sales, costs (including any relevant processing fees), price lists, and other unpublished financial information, business plans and marketing data, and any other confidential and proprietary information, whether or not marked as confidential or proprietary. Our Confidential Information includes all information that you receive relating to us, or to the Services, that is not known to the general public including information related to our security program and practices.
Each party agrees to use the other party's Confidential Information solely as necessary for performing its obligations under this Agreement and in accordance with any other rights and obligations in this Agreement including this Section 10. Each party agrees that it will take all reasonable steps, at least substantially equivalent to the steps it takes to protect its own proprietary information, to prevent the duplication, disclosure or use of any such Confidential Information, other than (i) by or to its employees, agents, subcontractors and vendors who must have access to such Confidential Information to perform such party's obligations hereunder, who each will treat such Confidential Information as provided herein, and who are each subject to obligations of confidentiality to such party that are at least as stringent as those contained herein; or (ii) as required by any law, regulation, or order of any court of proper jurisdiction over the parties and the subject matter contained in this Agreement, provided that, if legally permitted, the receiving party will give the disclosing party prompt written notice and use commercially reasonable efforts to ensure that such disclosure is accorded confidential treatment. Confidential Information will not include any information that the receiving party can prove: (A) was already in the public domain, or was already known by or in the possession of the receiving party, at the time of disclosure of such information; (B) is independently developed by the receiving party without use of or reference to the other party's Confidential Information, and without breaching any provisions of this Agreement; or (C) is thereafter rightly obtained by the receiving party from a source other than the disclosing party without breaching any provision of this Agreement.
## 11. Miscellaneous.
We may amend these Terms at any time.
You may not assign this Agreement to any person other than in connection with a sale of substantially all of your assets to a third party. This Agreement (including the Order Form, if applicable) contains the complete understanding and agreement of the Parties with respect to the subject matter hereof, and supersedes all prior or contemporaneous agreements or understandings, oral or written, with respect thereto. Each Party hereby rejects the inclusion of any pre-printed terms and conditions on any purchase orders or other such contract documents. We may give any notices issued in connection with this Agreement by email to you at the email address given by you when creating your account, and such notices shall be effective upon confirmation of transmission to you. Neither Party will be liable to the other Party for any failure or delay in performance by circumstances beyond its control, including, fire, labor difficulties, telecommunication failures, Internet unavailability, governmental actions or terrorism, provided that the Party seeking to rely on such circumstances gives written notice of such circumstances to the other Party and uses reasonable efforts to overcome such circumstances. Any question, claim or controversy arising out of or related to this Agreement (a "Dispute") will be governed by and construed in accordance with the laws of the Province of Ontario, without giving effect to any conflicts of laws provision thereof or of any other jurisdiction that would produce a contrary result. In the event of any Dispute, the designated representatives of you and we shall promptly confer and exert their good faith efforts to reach a reasonable and equitable resolution of such Dispute. If such representatives are unable to resolve such Dispute within five business days, the Dispute shall be referred promptly to the responsible senior management of each Party for resolution. Neither Party shall seek any other means of resolving any Dispute until both Parties' responsible senior management have had at least five business days to resolve the Dispute. If the Parties are unable to resolve the Dispute in accordance with the foregoing procedure, then either Party may, at any time, deliver notice to the other Party of its intent to submit the Dispute to the Court of the Province of Ontario, Canada. The relationship between the Parties is that of independent contractors. Nothing contained in this Agreement shall be construed as creating any agency, partnership, joint venture or other form of joint enterprise or employment relationship between the Parties, and neither Party shall have authority to contract for or bind the other Party in any manner whatsoever. No waiver by either Party of any of the provision of this Agreement is effective unless explicitly set forth in writing and signed by such Party. No failure to exercise, or delay in exercising, any right, remedy, power or privilege arising from this Agreement operates, or may be construed, as a waiver thereof. No single or partial exercise of any right, remedy, power or privilege hereunder precludes any other or further exercise thereof or the exercise of any other right, remedy, power or privilege. If any provision of this Agreement is held to be unenforceable or illegal by a court or tribunal of competent jurisdiction, such provision will be modified to the extent necessary to render it enforceable, or will be severed from this Agreement, and all other provisions of this Agreement will remain in full force and effect. Headings are provided for convenience only and will not be used to interpret the substance of this Agreement. Unless the intent is expressly otherwise in specific instances, use of the words "include," "includes," or "including" in this Agreement shall not be limiting and "or" shall not be exclusive.
## 12. Refunds and Cancellations
### 12.1 Refund Policy
Tempo Inc. provides digital services on a subscription basis. Refunds are limited and only considered in the event of verified technical issues that prevent access to the Service, despite proper use and good-faith efforts to resolve the issue with our support team. Refund requests must be submitted in writing within 7 days of the charge date to [support@tempo.new](mailto:support@tempo.new), and must include the registered account email, the date and amount charged, and a description of the issue.
Refunds will not be issued for:
* User dissatisfaction with features or performance;
* Unused credits or partial use of services;
* Failure to cancel prior to renewal;
* General feature limitations or unmet expectations;
* Downgrades or changes in business needs.
Tempo Inc. reserves the right to deny any refund requests that fall outside this policy.
### 12.2 Cancellation Policy
You may cancel your subscription at any time via your account settings. Upon cancellation, you will retain access to the Service until the end of your current billing cycle. No refunds or prorated charges will be issued for the remainder of the current period. Failed payments will result in automatic downgrade to a limited-access Free Tier after retry attempts fail.
Tempo subscriptions are billed monthly and can be upgraded, downgraded, or reactivated at any time from your dashboard.
# Agents
Source: https://docs.tempo.new/product/agents
The execution layer of Tempo's AI software factory — background agents run from Slack, schedules, GitHub events, or assigned issues.
Agents are the execution layer of Tempo's **AI software factory**. The **Agents** tab is where you stop babysitting your AI and put it on a trigger. An agent is a **standing prompt wired to a trigger**: when the trigger fires, the agent starts a Tempo session on your machine and does the work — investigates a bug, files an issue, opens a PR, posts back to the Slack thread — acting **as you**, with your access.
Two safety properties hold for every agent:
* **Born disabled.** A new agent never fires until you explicitly enable it from the Agents grid.
* **Acts as you.** Agents use your Tempo identity and your machine — there is no separate bot identity to manage, and nothing runs while Tempo isn't running.
## Triggers
An agent fires from one or more triggers:
| Trigger | Fires when | Setup needed |
| - | - | - |
| **Assignable** | An issue on your board is assigned to the agent | None |
| **Issue events** | An issue is created, moved, labeled, or commented on (filterable) | None |
| **Schedule** | A cron schedule ticks (in your timezone) | None |
| **Slack** | A message or mention lands in channels you pick | Your org's Slack workspace connected to Tempo |
| **GitHub** | A repo event arrives (e.g. a PR is merged) | A webhook added to your repo — Tempo shows the payload URL and secret when you add the trigger |
Slack conversations are threaded: replies in a thread the agent posted in are delivered back into the **same** agent session, so a conversation with an agent continues instead of starting over.
## Templates
The fastest way to a working agent is a **template** — generalized versions of the agents the Tempo team runs on itself daily (bug fixing, feedback triage, PR review, release driving, and more). Open the gallery from the empty Agents tab, the **Templates** button in the toolbar, or the "start from a template" link inside the new-agent editor.
Picking a template prefills the whole editor — name, prompt, effort, and (for scheduled templates) the schedule. Prompts are written to work as-is out of the box; tweak them to match your team's process whenever you like. Before enabling:
1. **Add the trigger the template suggests.** Slack and GitHub templates arrive *without* their trigger, since both need a one-time connection first — the editor shows a banner naming the suggested trigger until you add one. Connect Slack (or add the GitHub webhook), then add the trigger right from the banner or the Triggers section.
2. **Enable the agent** from the grid. Until then it's inert.
Nothing is ever auto-created or auto-enabled from a template — you always review the full configuration first.
## Runs
Every run appears as a chat under the agent, so you can watch it work live, scroll back through history, or jump in mid-run.
## Anatomy of an agent
* **Name, icon, color** — how the agent shows up on the board, in Slack, and in pickers.
* **Project** — the repo the agent works in.
* **Model + effort** — which model runs the session and how hard it thinks.
* **Prompt** — the standing instructions for every run. Write it like a runbook: what to read, what to do, where to report back, and when to pause and ask.
* **Assignable** — whether the agent appears in the issue assignee picker.
* **Triggers** — any combination from the table above.
# Canvas
Source: https://docs.tempo.new/product/canvas
A Figma-style design surface where every frame is a live iframe of a real route or React component in your codebase.
The **Canvas** is Tempo's design surface. It looks like Figma — an infinite, zoomable plane with frames — but every frame is a **live iframe** running a real route or React component from your codebase. Edit a style, drag a component, change a prop; Tempo writes the change back to your source files.
Open it from the **Canvas** icon in the left sidebar.
## Storyboards
A **storyboard** is a typed React export inside an `index.canvas.tsx` file under `tempo/designs/canvases/`. Each export becomes a frame on the canvas. Storyboards are real code, so they commit to git like anything else — your designs version with the codebase they describe.
Create one in two ways:
* Right-click an empty area of the canvas → **New Storyboard**.
* Ask the AI: *"make a storyboard for the signup flow."*
Storyboards can also guard your pull requests: mark one as tracked and every PR pixel-diffs it against your default branch, with the check staying red until a person approves the change. See [Visual Review](/guides/visual-review).
## Editing on the canvas
* **Style Panel (right side)** — typography, colors, spacing, layout. Every change writes back to source.
* **Drag and drop** components from your codebase's component library directly into frames.
* **Select an element** to jump to its definition in the codebase editor.
* **Multi-select and group** to compose larger layouts.
## How the canvas stays in sync with code
When you open a workspace, Tempo starts your dev server in the background (Vite, Next.js, whatever your project uses — see [Setup & Run Scripts](/guides/setup-run-scripts)). Canvas iframes point at that dev server, so every code change hot-reloads on the design surface and every design edit triggers a real file write.
This is the unified context layer in practice: your designs *are* your code.
## What lives next to the canvas
* **Link a canvas to a doc** so the PRD is one click away from the design.
* **Link a canvas to an Issue** so the card shows the design as a preview.
* **Link a canvas to a chat session** so the agent can read the storyboards it's about to modify.
# Chat
Source: https://docs.tempo.new/product/chat
Claude or Codex running inside an isolated git worktree per session, so destructive changes never touch your main tree.
The **Chat** tab is where you collaborate with AI agents — Claude (Anthropic) or Codex (OpenAI) — inside Tempo. Every session runs in its own **git worktree**, an isolated copy of your repo on a throwaway branch, so the agent can make destructive changes without ever touching your main working tree.
Open the chat panel from the **Chat** icon in the left sidebar, or use `Cmd/Ctrl+L` from anywhere.
## Worktrees: isolation by default
When you start a new chat, Tempo creates a fresh worktree on a throwaway branch. The agent works in that copy. Your main branch stays untouched until you explicitly merge.
* **Happy with the work?** Use the share/merge controls at the top of the chat to bring the changes back into your main branch (or open a PR).
* **Not happy?** Discard the worktree and nothing is lost. Your main branch never saw the changes.
This means you can run **multiple agents in parallel** on the same repo — one per worktree — without conflicts.
## Models
Pick a model from the dropdown at the bottom of the chat:
* **Claude** (Opus, Sonnet, Haiku) — sign in via `claude /login` in the terminal.
* **Codex** (GPT-5.4 Codex, GPT-5.4-mini) — sign in via `codex login`.
See the [Quick Start](/guides/quick-start#3-connect-codex-or-claude) for sign-in details.
## Context the agent sees
Every turn, the agent automatically has access to:
* The current worktree (full file tree, git history).
* Any [docs](/product/docs) you've linked to the session.
* Any [canvases](/product/canvas) you've linked to the session.
* Any [issues](/product/issues) you've linked to the session.
This is the unified context layer — instead of pasting requirements into the prompt, you link the PRD and the agent reads it.
## Plan mode
Before letting the agent execute, you can ask it to produce a plan: a structured proposal of what it intends to change. Review and edit before approving. The agent only writes files once you accept the plan.
# Docs
Source: https://docs.tempo.new/product/docs
Write PRDs, specs, and project notes that your AI chat sessions can read as context.
The **Docs** tab is where long-form writing lives — product requirements, technical specs, project notes, anything that doesn't fit in an Issue card. Docs are stored alongside your codebase and can be attached to AI chat sessions so the agent reads them as context every turn.
Open it from the **Docs** icon in the left sidebar.
## What you can write
* **PRDs** — product requirements for a feature.
* **Specs** — technical designs, RFCs, architectural notes.
* **Project notes** — meeting notes, decision logs, scratchpads.
Every doc is markdown under the hood, with a rich editor on top. You get headings, lists, code blocks, callouts, images, and inline links to other docs, issues, and canvases.
## How docs connect to the rest of Tempo
A doc on its own is just a document. The point is to link it to the work it describes:
* **Link a doc to a chat session** and the agent loads it into context every turn — so when you ask "implement the spec," it actually has the spec.
* **Link a doc to an Issue** and the card shows the PRD inline.
* **Link a doc to a canvas** so the design surface and the requirements live next to each other.
## Drafting with AI
You can draft a PRD interactively by asking the AI: *"write a PRD for the export-to-CSV feature."* The `/prd-writer` skill walks through the structure (goals, non-goals, user stories, success criteria) and writes it directly into the Docs tab.
## Where docs live
Docs are stored in your organization's database, scoped to the workspace they were created in. Teammates in the same organization see the same docs; private workspaces stay private.
# Issues
Source: https://docs.tempo.new/product/issues
Built-in Kanban for tracking work, with cards that link to branches, PRs, canvases, and docs.
The **Issues** tab is Tempo's built-in Kanban tracker. Cards live in your organization's database, not in a separate SaaS, and they link directly to the artifacts they describe — branches, PRs, canvases, and docs. Agents can pick a card up, run it in a worktree, and open a PR when they're done.
Open it from the **Issues** icon in the left sidebar.
## What's on a card
* **Title and description** — a TL;DR of the work. Detailed requirements belong in a linked PRD.
* **Status** — Backlog, In Progress, In Review, Done. Customizable per board.
* **Assignee** — a teammate, you, or an agent.
* **Links** — branch, PR, canvases, docs, chat sessions. Status of linked PRs (open, merged, failing CI) shows on the card.
* **Labels** — tags for filtering and views.
## Agents can run a card
Assign a card to an agent and it picks the work up:
1. Spins up an isolated git worktree.
2. Reads any linked docs and canvases as context.
3. Makes the changes.
4. Opens a PR and moves the card to **In Review**.
You stay in the loop in the [Chat](/product/chat) tab — review the diff, approve, or send the agent back with feedback.
## Views
Filter and group cards by assignee, label, status, or linked artifact. Save views per board so you can flip between "my open PRs," "in review this week," or "everything blocked on design."