# Mobile App Source: https://docs.traycer.ai/account/mobile-app Follow and steer your Tasks from your phone with the Traycer mobile app. The Traycer mobile app runs the same interface as Traycer Desktop on your phone. It has no host of its own: it reaches the hosts on your other machines through Traycer's relay, so the agents keep running there while you follow them from the phone. The mobile app is included on every plan, including Free. ## Get the App * **iPhone and iPad:** [download it on the App Store](https://apps.apple.com/app/traycer/id6800259174). * **Android phones and tablets:** [get it on Google Play](https://play.google.com/store/apps/details?id=ai.traycer.app.android). On an iPad or an Android tablet, the app uses the same phone layout, in portrait. The same links are on the [download page](https://traycer.ai/download) and on the [Mobile App](https://traycer.ai/_/mobile-app) page of the web dashboard. ## Sign In The quickest way in is to link the phone from Traycer Desktop: **1. Show a code on the desktop** On your computer, open **Settings → Link mobile app**. It shows a QR code and a code you can type. **2. Scan or type it on the phone** In the mobile app, tap **Scan QR code** and scan the code. If you can't use the camera, tap **Enter code manually**, type the code shown under the QR code, and tap **Sign in**. The phone then shows **Your code:** with a two-digit number and waits for your approval. **3. Approve on the desktop** The desktop asks "Does your phone show NN?" with the same two digits. If they match and you just scanned the code yourself, click **Approve**. Otherwise click **Reject**. Scanning alone signs nothing in. Each code signs in one phone, expires after about a minute, and works only once you approve it. See [Link Mobile App](/settings/account#link-mobile-app) for the rest of the desktop side. You can also tap **Sign in** to sign in with your account directly, as on the desktop. See [Sign In](/account/sign-in). ### Link From a Terminal On a machine where the CLI is signed in, run `traycer link-phone`. It prints a QR code and a code to type, then asks you in the terminal to approve the phone that scanned it. Use `traycer link-phone --no-qr` if your terminal garbles the QR code. See [CLI commands](/cli/commands#auth-commands). ## Tasks and Chats To refresh the navigation drawer’s task list, scroll to the top, pull down, and release. Creating chats requires edit access to the Task. Open the **Agents** list and tap **+** to create an empty chat. Type your first message in the chat that opens. To create a child beneath an existing agent, open its **⋯** menu and choose **New child agent**. On iPhone and iPad, tap the status bar at the top of the screen to scroll the current content back to the top. If a dialog or sheet is open, the gesture applies to its content. ## Push Notifications The mobile app can notify your phone of a host's notifications; which severities a host creates is set per host in [Settings › Notifications](/settings/notifications). In the mobile app, open **Settings → Sounds** and, under **This phone**, tap **Enable** on the **Push notifications** row. If you turned notifications off for Traycer in the phone's settings, the row offers **Open Settings** instead. See [Sounds](/settings/sounds#this-phone) and [Notifications](/concepts/notifications#push-notifications-on-your-phone). ## Delete Your Account **1. Request the deletion** In the mobile app, open **Settings → Delete account** and tap **Request account deletion**. Confirm with **Continue**. **2. Fill in the form** A short form opens in your browser, filled in with your account's email address. Submit it to confirm the request. **3. Wait for the confirmation email** The Traycer team completes the deletion within 30 days and emails a confirmation to your account's address. Your account stays active until then. Deleting your account removes your profile, sessions, Tasks, chats and generated documents from Traycer's active services. It can't be undone. Some data can remain in backups or archives, or be kept where the law requires it or for the other reasons the [Privacy Policy](https://traycer.ai/privacy-policy) lists. # Pricing Source: https://docs.traycer.ai/account/pricing Understand Traycer plans: Free for individuals, Sync for teams, and pay-as-you-go inference credits. This page covers **Traycer Desktop** pricing. Using the IDE extension? See [Extension Pricing](/extension/pricing). Traycer pricing separates product access from inference usage. ## Plans | Plan | Price | Best for | Includes | | - | -: | - | - | | **Free** | \$0 | Individuals | Traycer with your own coding agents (Claude Code, Codex, OpenCode, Cursor, and more), AI planning and task tracking, unlimited agent sessions, [cloud sync](/concepts/sync-and-offline) across your devices, sharing Tasks with the people you invite, remote hosts, the [mobile app](/account/mobile-app), agent-to-agent communication. No token metering, no inference credits required. | | **Sync** | \$20/user/month, or \$16/user/month billed yearly | Teams | Everything in Free for your whole team, plus sharing a Task with the whole team at once. | Yearly billing saves 20%. Cloud sync is included on every plan. The one thing that needs Sync is sharing a Task with a team: the team you share with must be on Sync. Sharing a Task with individual people works on every plan. See [Sharing](/panels/sharing) and [Share Tasks With a Team](/account/teams#share-tasks-with-a-team). If you subscribed to an earlier plan (Lite, Pro, Ultra or Ultra+), you keep it for as long as you stay subscribed, on its original terms: the credits it includes renew every monthly billing cycle and do not roll over. Those plans can no longer be bought or switched to; you can cancel at any time. Plans from before those, which limit how often you can create artifacts instead of using credits, move to monthly credits on 1 November 2026: 1.5× the plan price, renewed every billing cycle, not rolled over. ## Inference Credits Credits pay for models accessed through the **Traycer** provider. They are optional and pay as you go. Neither Free nor Sync includes monthly credits. One credit is worth \$1. To buy a bundle, open **Billing** in the [web dashboard](https://traycer.ai/billing) and click **Purchase Credits**. Bundle credits never expire. A team buys credits into one pool that its members share. See [Team credits](/account/teams#team-credits). ## What Costs Credits Models available through the **Traycer** provider can consume inference credits. Credit usage is based on the upstream API pricing for the selected supported model, plus a **20% Traycer markup**. There are no fixed per-request fees. Cost can still vary by operation, selected model, reasoning effort, and provider-side pricing. Using other coding-agent paths, such as Claude Code, Codex, OpenCode, or Cursor, does **not** consume Traycer credits and does **not** include a Traycer markup. Those paths use their own account, API, or provider billing outside Traycer. Use [Agents & Models](/agents-and-models/coding-agents) for coding-agent setup. > [!NOTE] > > **Auto mode is the exception.** When a conversation runs in Auto mode, a judge model reviews its commands. With the judge set to **Automatic**, Traycer's hosted model reviews them whenever Traycer inference is available, and that uses credits, even in a Claude Code or Codex conversation. **Settings → Permissions → Judge** shows which judge is active and how it is billed. To keep Auto mode off your credits, choose a specific judge model there. See [Judge](/settings/permissions#judge). ## Refer & Earn Open **Billing → Referrals** in the [web dashboard](https://traycer.ai/referrals) to get your invite link. When someone signs in through your link and then makes their first payment, such as buying a credit bundle, you each get 10 credits. * The link works only for people who have never paid for Traycer. * You can refer up to 100 people. ## Team Billing A team on Sync is billed per seat, with one subscription for the whole team and one credit pool that its members share. See [Teams](/account/teams). # Sign In Source: https://docs.traycer.ai/account/sign-in Sign in to Traycer Desktop, approve the sign-in in your browser, and sign out or switch accounts. Traycer Desktop signs you in through your browser. You approve each sign-in there, so the app never sees your password. You can sign in with GitHub, Google, Apple, or a one-time code sent to your email. The quickest way to sign in the mobile app is to link it from Traycer Desktop. See [Mobile App](/account/mobile-app#sign-in). ## Sign In **1. Start from the app** On the **Welcome to Traycer** screen, click **Sign in**. Traycer opens a sign-in page in your default browser. **2. Approve in the browser** Sign in to the web page if you are not signed in already. The page asks **Approve this sign-in?** and shows a code. Check that it matches the code in the app, then click **Approve**. Click **Deny** if you did not start this sign-in. **3. Return to the app** The app shows **Waiting for approval** until you approve, then finishes signing in on its own. ### If the Browser Does Not Open Expand **Use code instead** in the app. It shows a **Device code** and an **Approval address**. Open the address in any browser, on this machine or another device, and approve the sign-in there with that code. ## Sign Out Open the avatar menu and choose **Sign out**. To sign out a different device, or every device at once, use [Sessions](/settings/account#sessions). ## Switch Accounts Sign out, then sign in again. On the approval page, choose **Use a different account** to sign in to the web page with the other account. # Teams Source: https://docs.traycer.ai/account/teams Create a team, invite members, manage seats and credits, and share Tasks with your team. A team has one subscription and one credit pool. You manage teams in the [web dashboard](https://traycer.ai/settings). Once you belong to a team, use the team switcher at the top of the dashboard's sidebar to move between your personal account and each team. With a team selected, the sidebar's **Team** group shows **Members**, **Billing** and **Settings**. ## Create a Team **1. Open the team switcher** In the [web dashboard](https://traycer.ai/settings), open the team switcher and click **Create team**. **2. Name the team** Enter a team name. You can also add the email addresses of the people you want to invite now, or invite them later. **3. Create the team** Click **Create Team**. The dashboard opens the team's **Billing** page, where a team admin can subscribe to Sync. See [Seats and Billing](#seats-and-billing). ## Members The **Members** page lists everyone on the team, with each member's activity, role and monthly bundle allocation. * **Roles.** Every member is an **Admin** or a **Member**. Only admins can click **Invite Members**. * **Invites.** An invited person shows as **Pending** until they open the team link. * **Removing members.** An admin removes one member from their row, or selects several and removes them together. ## Leave a Team There is no **Leave** button. To leave a team, ask one of its admins to remove you on the **Members** page. Admins can't remove themselves either, so an admin who wants to leave needs another admin to remove them. A team always keeps at least one admin: the last admin can't be removed or changed to a member. ## Seats and Billing Open **Billing** with the team selected to subscribe, change plan or manage the subscription. Only admins can subscribe. Sync is billed per seat for the whole team: the seat count is the number of team members, including pending invites. There is no separate seat counter to set. > [!NOTE] > > **Billing timing.** A seat is billed as soon as the invite is sent, not when it is accepted. Added seats are billed immediately and prorated. A removed seat drops off at the end of the current billing cycle. ## Team Credits Team members share the team's credit pool for models accessed through the Traycer provider. On the team's **Billing** page: * Click **Purchase Credits** to add credits to the pool. * Click **Configure Bundle Limits** to set how many credits each member can use per month. See [Pricing](/account/pricing#inference-credits) for how credits are bought and spent. ## Share Tasks With a Team Share a Task with a whole team from the **Teams** section of the [Sharing](/panels/sharing) panel: pick a role (**Editor** or **Viewer**) for the team and click **Share**. Only the Task's owner can do this. The team must be on Sync. Otherwise sharing fails with "This team needs the Sync plan before it can share tasks." Tasks already shared with a team stay shared if the team later moves back to Free. Inviting individual people to a Task works on every plan. See [Sharing](/panels/sharing). ## Delete a Team Open **Settings** with the team selected and click **Delete team**. Deleting a team removes its data and cancels its subscription immediately, with no refund. It cannot be undone. ## Frequently Asked Questions > **Does Traycer support SSO or SAML?** > > No. Everyone signs in with GitHub, Google, Apple, or a one-time code sent by email. See [Sign In](/account/sign-in). > **Is there a paid plan for individuals?** > > Individuals don't need one. Free includes cloud sync, remote hosts and the mobile app, and credit bundles pay for Traycer inference when you need it. Sync is the team plan, priced per seat; see [Pricing](/account/pricing). > **How is my team's privacy protected?** > > Prompt text is always hidden in usage logs for usage billed to a team, so nothing needs to be turned on. For personal usage, each member controls this with their own **Privacy Mode** setting under **Settings → Privacy Settings** in the [web dashboard](https://platform.traycer.ai). # Agents & Models Source: https://docs.traycer.ai/agents-and-models/coding-agents Compare Traycer's coding agents: interfaces, fast mode, profiles, steering, permission modes, and how each one connects. This page is the compatibility reference for Traycer's coding agents and model selection.For the agent surface itself, including composer controls, permissions, attachments, voice input, and per-turn behavior, see [Agents](/panels/agents).## Supported Coding AgentsTraycer supports 22 coding agents. The first table shows what each one can do; the second shows how each one connects.| Coding agent | Chat | Terminal | Fast mode | Profiles | Steer mid-turn | Permission modes | | - | - | - | - | - | - | - | | **Claude Code** | Yes | Yes | Model-dependent | Yes | Yes | All | | **Codex** | Yes | Yes | Model-dependent | Yes | Yes | All | | **OpenCode** | Yes | Yes | No | No | Yes | All | | **Traycer Inference** | Yes | No | No | No | Yes | All | | **Cursor** | Yes | No | Model-dependent | No | No | Full access only | | **Grok** | Yes | No | No | Yes | Yes | All | | **Qwen Code** | Yes | No | No | No | Yes | All | | **Kiro** | Yes | No | No | No | Yes | All | | **Droid** | Yes | No | No | No | No | All | | **Kimi** | Yes | No | No | No | No | All | | **Copilot** | Yes | No | No | No | Yes | All | | **Kilo Code** | Yes | No | No | No | No | All | | **OpenRouter** | Yes | No | No | No | Yes | All | | **Amp** | Yes | No | No | No | No | Full access only | | **Devin** | Yes | No | No | No | No | All except Supervised | | **Pi** | Yes | No | No | No | Yes | All | | **Hermes Agent** | Yes | No | No | No | Yes | All except Supervised | | **Oh My Pi** | Yes | No | No | No | Yes | All | | **Hugging Face** | Yes | No | No | No | Yes | All | | **Reasonix** | Yes | No | No | No | Yes | All | | **Antigravity** | Yes | No | No | Yes | No | All | | **Command Code** | Yes | No | No | No | No | All |> [!NOTE] > > * **Chat** and **Terminal** say which [interface](/concepts/terminal-agents-vs-terminals) the coding agent can back. A coding agent that uses a CLI behind its Chat integration is not automatically available on the Terminal interface. > * **Fast mode** appears only when the selected model offers a fast tier. > * **Profiles** means you can add more than one account for that coding agent. See [Managed Profiles](/settings/providers#managed-profiles). > * **Steer mid-turn** means a message can go into the running turn. For the others, a steered message waits for the next turn. See [Message queue](/panels/agents/message-queue). > * **Permission modes** lists which of the four [permission modes](/panels/agents#permissions) the coding agent accepts. The ones it can't honor are disabled in the composer's permission picker.| Coding agent | Turned on | CLI | How you connect | Settings tabs beyond the common ones | | - | - | - | - | - | | **Claude Code** | By default | Managed by Traycer | Browser sign-in; paste the code if the browser can't finish | Profiles & Limits, MCP, Plugins, Skills | | **Codex** | By default | Managed by Traycer | Sign-in code | Profiles & Limits, MCP, Plugins, Skills | | **OpenCode** | After credential check | Managed by Traycer | Sign in from a terminal, or connect providers in **Model Providers** | Usage limits, Model Providers, MCP, Plugins, Skills | | **Traycer Inference** | By you only | Managed by Traycer | Your Traycer account; uses Traycer credits | Usage limits, MCP, Plugins, Skills | | **Cursor** | After credential check | Not needed for chat | Cursor API key | Account, Usage limits, MCP, Plugins, Skills | | **Grok** | After credential check | Managed by Traycer | Sign-in code, or `XAI_API_KEY` | Profiles & Limits, MCP, Plugins, Skills | | **Qwen Code** | After credential check | Managed by Traycer | Sign in from a terminal (type `/auth`) | MCP, Plugins, Skills | | **Kiro** | After credential check | Managed by Traycer | Sign in from a terminal, or an API key | Account, MCP, Skills | | **Droid** | After credential check | Managed by Traycer | Sign in from a terminal, or a Factory API key | Account, MCP, Plugins, Skills | | **Kimi** | After credential check | Managed by Traycer | Sign-in link | MCP, Plugins, Skills | | **Copilot** | After credential check | Managed by Traycer | Sign in from a terminal, or `GH_TOKEN` | MCP, Plugins, Skills | | **Kilo Code** | After credential check | Managed by Traycer | Sign in from a terminal, or `KILO_API_KEY` | Usage limits, MCP, Plugins, Skills | | **OpenRouter** | After credential check | Managed by Traycer | OpenRouter API key | Account, Usage limits, MCP, Plugins, Skills | | **Amp** | After credential check | You install it | Sign in from a terminal, or an Amp API key | Account, MCP, Plugins, Skills | | **Devin** | After credential check | Managed by Traycer | Browser sign-in, or `WINDSURF_API_KEY` | None | | **Pi** | After credential check | Managed by Traycer | Your model provider's API key, set in **Env** | None | | **Hermes Agent** | After credential check | You install it | **Set up in terminal** (runs `hermes setup model`) | MCP (view only) | | **Oh My Pi** | After credential check | Managed by Traycer | Sign in from a terminal (type `login `) | MCP | | **Hugging Face** | After credential check | Managed by Traycer | Hugging Face token | Account, Usage limits, MCP, Plugins, Skills | | **Reasonix** | After credential check | Managed by Traycer | **Set up in terminal** (runs `reasonix setup`) | None | | **Antigravity** | After credential check | Managed by Traycer | Google account sign-in, or a Gemini API key | Profiles & Limits | | **Command Code** | After credential check | You install it | Sign in from a terminal (runs `cmd login`) | None |* **Turned on.** Claude Code and Codex start enabled; Traycer Inference is opt-in. Other providers can turn on at host startup after credential verification, unless you have already chosen their setting. See [Turn A Provider On Or Off](/settings/providers#turn-a-provider-on-or-off). * **CLI.** Traycer downloads and updates the CLIs it manages; see [CLI Binary And Arguments](/settings/providers#cli-binary-and-arguments). Install the Amp, Hermes Agent, and Command Code CLIs yourself. Command Code installs with `npm i -g command-code`; its command is `cmd`, or `cmdc` on Windows. On Macs, Antigravity needs macOS 14 or later. * **Settings tabs.** Every provider also has **CLI & Args**, **Env**, and **Permissions**. What each tab holds is in [Provider Tabs](/settings/providers#provider-tabs).## ModelsTraycer loads models from the selected coding agent and provider profile at runtime. The list can vary with your installed CLI version, account, provider configuration, and model access, so these docs don't keep a fixed model list.In the composer's model picker:* Choose a coding agent in the rail, then a model. ⌘1–9 / Ctrl+1–9 switches the coding agent while the picker is open. ↑/↓, Home/End, Enter, and Esc also work. * A coding agent with two or more profiles shows a profile dropdown. ⌘⇧1–9 / Ctrl+Shift+1–9 switches profile. * Thinking effort appears only when the selected model supports reasoning levels. ⌥1–9 / Alt+1–9 sets it. * Fast mode appears only when the selected Claude Code, Codex, or Cursor model has a fast tier. ⌥0 / Alt+0 toggles it. * Models that are being retired carry a **Deprecated** badge. * **Refresh providers & models** reloads the list, and **Provider CLI settings** opens [Providers](/settings/providers). * ⌃⌥M / Alt+Shift+M opens and closes the picker.Only coding agents that are turned on appear in the picker.* **Needs sign-in.** A coding agent that is signed out or missing its API key stays in the rail, dimmed. Select it to see **Not authenticated** and the fix: **Sign in from a terminal**, **Set up in terminal**, or **Add API key**, depending on the agent. * **Still downloading.** While Traycer downloads a coding agent's CLI, its rail entry shows the progress, for example "Preparing Grok… 40%". If Traycer has no other copy of that CLI to run, you can pick it once the download finishes.**Traycer Inference** uses Traycer credits. Other coding agents use their own account, API, or provider billing; see [Pricing](/account/pricing).When a coding agent hits a usage limit, Traycer can offer another profile or switch models for you. See [Usage limits and model routing](/agents-and-models/usage-limits-and-routing) and [Model routing](/settings/model-routing).## Provider SetupConfigure credentials, environment variables, CLI binaries, profiles, and default Terminal interface CLI arguments in [Settings > Providers](/settings/providers).Claude Code, Codex, Grok, and Antigravity support multiple managed profiles. What a profile shares with your default login, and how Grok keeps its profiles separate, is in [Managed Profiles](/settings/providers#managed-profiles).To switch accounts for the next turn, open the model picker and choose a profile from the profile dropdown. # Usage limits and model routing Source: https://docs.traycer.ai/agents-and-models/usage-limits-and-routing See how much of each provider's usage limit is left, switch accounts when one runs low, check what your agents cost, and let Traycer route a blocked chat to another account or model. Most coding agents run on a subscription or an account with usage limits. Traycer reads those limits from each provider, shows them in the app, warns you in the composer when a chat's account is running low, and can move a blocked chat to another account or model for you. ## Which Providers Report Usage Limits Traycer shows usage for the providers that report it. Each provider reports its own kind of limit. | Provider | What Traycer shows | | - | - | | **Claude Code** | Current session and weekly limits, weekly limits for particular models, and extra usage | | **Codex** | Session and weekly limits, limits for particular models, credits, and [manual resets](#codex-manual-resets) | | **Cursor** | Usage for the billing cycle, split into Cursor models and other models, and spend | | **Grok** | Usage for the billing period, and credit | | **OpenCode** | OpenCode Go's session, weekly and monthly limits | | **OpenRouter** | Credit and spend | | **Hugging Face** | Included credit and spend | | **Kilo Code** | Credit balance | | **Antigravity** | Limits for each group of Google models, each with its own windows | Time-based limits are named by their length: **Current session** is a 5-hour window, and longer ones read **Daily**, **Weekly** or **Monthly**. Other providers don't report limits, so Traycer shows no usage for them. Usage is read on the host that runs the provider, for each account you are signed in to there. While a host is offline, its usage limits can't be read. ## Where to See Usage Limits ### Status Bar The status bar at the bottom of the window shows one reading per provider that reports a limit, with the percentage used or remaining and when the limit resets. Click it to open the [Usage limits](#usage-limits-popover) popover. What the readings show, and whether they sit in the status bar or the header, are set in [Layout](/settings/layout). ### Usage Limits Popover Press **⌘⇧U / Ctrl+Shift+U** to open **Usage limits**, or click the usage reading in the status bar or header. * **Overview** shows the main limits of every provider at once. Each provider also has its own tab with the full detail. * Each account shows its limits, how much is used, when each limit resets, and when it was last updated. * **Refresh all** re-reads every provider. A provider's own tab has a refresh button for that provider alone. * The eye button on an account shows or hides it in the status bar. * **Manage provider** opens that provider in [Providers](/settings/providers). * The settings button at the bottom opens the status bar settings in [Layout](/settings/layout). * The **Traycer** tab shows your Traycer plan and usage, for your personal account and each team. If you use more than one host, pick the host at the top of the popover. You can resize the popover by dragging its edges. The same limits appear in Settings on each provider's **Profiles & Limits** tab (Claude Code, Codex, Grok and Antigravity) or **Usage limits** tab (other providers). See [Providers](/settings/providers). ## When an Account Runs Low When the account a chat uses is running low on usage, or has reached its limit, a banner above the composer says so, for example "*account* is running low on usage." | Control | What it does | | - | - | | **Switch to** *account* | Switches this chat to the account Traycer recommends. | | **More profiles** | The arrow next to **Switch to**. Lists every account for that provider with its status, such as **Running low**, **Limited** or **Not checked**. Hover over an account, or move to it with the arrow keys, to see its usage. | | **Choose a profile** | Shown instead of **Switch to** when Traycer has no single account to recommend. | | **View profile limits** | Shown when no other account can be used. The banner says "No other profile is currently available." | | **Also switch *N* other chats in this task** | Switches the Task's other chats on the same account too. | Close the banner with its **X**. Switching accounts needs a second account on the same provider. Claude Code, Codex, Grok and Antigravity support more than one account through managed profiles; see [Agents & Models](/agents-and-models/coding-agents). ## Codex Manual Resets Codex can give you manual resets for a usage limit. When you have some, the Codex tab in **Usage limits** and the Codex **Profiles & Limits** tab show **Manual resets** with the number available. Click **Use reset**, then confirm in the "Use a Codex manual reset?" dialog. Traycer uses the reset that expires first, on the Codex limit you have currently reached. A used reset can't be returned or undone. ## Cost and Token Usage Traycer also records what your agents spend in tokens and estimated cost. * **A Task.** Click the **Usage** button (a chart icon) at the top right of the Task. The dialog shows cost and token usage for the Task over the last **7 days**, **30 days** or **90 days**. You can export it as an image, and **View full usage** opens Settings › Account › **Usage**. * **A chat.** Right-click a chat's tab and choose **Usage** to see cost and token usage for that chat's full history. * **Everything.** Settings › Account › **Usage** shows usage across all your agents. See [Account](/settings/account#usage). Costs are estimated from the providers' published prices, so they can differ from what you are billed. ## Automatic Model Routing When a rate limit or another provider problem blocks a chat's turn, Traycer can recover for you. With **Route automatically** on, it works through your plan: 1. Try another account on the same provider. 2. Try an equivalent model on another provider. 3. Wait for the limit to reset, if the provider says when. 4. Notify you. **Route automatically** is off by default. It applies to chat agents on the host you set it for, never to Terminal agents. You set it up, reorder the steps, and choose which models count as equivalent in [Model routing](/settings/model-routing). A switch starts a new agent session from the chat's history and retries the blocked message there. Messages waiting to run move with it. ### The Routing Card While routing is working on a chat, one card sits above the composer. It has the same parts in every state: * **Status line:** what went wrong and on which account, for example "Rate limit reached · Claude Code · Work". The gear opens [Model routing](/settings/model-routing) settings for the chat's host. * **Headline:** what happens next and when. During a countdown, a bar along the top of the card runs down with it. * **Route line:** the account and model the chat was on, and where it is going. * **Count line**, only when there is something to count: "2 queued messages move with it", or "1 other chat in this task is also switching". * **Two buttons:** the step to take now, and the way to refuse it. The card has no close button. It goes away when you answer it or when routing finishes. A countdown that ends in a switch finishes routing; one that ends in a wait keeps the card up until the wait is over (see [Waiting for a Reset](#waiting-for-a-reset)). While the chat's connection is down its buttons are disabled and read **Reconnecting…**, and while Traycer is still working out the next step they read **Deciding…**. ### The Switch Countdown Before Traycer switches or starts waiting, the headline counts down. The countdown is 15 seconds by default. | Next step | Headline | Buttons | | - | - | - | | **Switch** | "Switching in 12s" | **Switch now** switches without waiting for the countdown. **Don't switch** stops the switch and keeps the error. | | **Wait for the reset** | "Waiting until 3:21 PM starts in 12s" | **Choose another model…** opens the [picker](#choosing-where-to-switch). **Don't wait** stops the wait and keeps the error. | When the account was signed out, **Sign in instead** takes the place of **Don't switch**: it stops the switch, then opens the provider in [Providers](/settings/providers) so you can sign in again. To go somewhere other than the planned destination, click the destination on the route line. The countdown pauses while the picker is open, and the headline reads "Paused while you choose". ### Waiting for a Reset When Traycer waits for a limit to reset, the headline says when the chat resumes, for example "Resuming at 3:00 PM · in about 2h 14m". The route line shows the account and model it resumes on. Messages waiting to run wait with it. * **Choose another model…** opens the [picker](#choosing-where-to-switch), to switch now instead of waiting. * **Stop waiting** stops the wait and keeps the error. Traycer waits only when the provider gives a reset time within your longest wait, which is 6 hours by default. As the wait ends, the headline reads "Resuming in 12s", and **Stop waiting** still stops it. ### Choosing Where to Switch **Choose another model…**, the destination on the route line, and **Switch to…** on a failed turn all open the composer's own model picker, with its providers, account menu, models and thinking effort. It opens on the account Traycer recommends. Nothing changes while you browse. At the bottom, a line says where the message will run, for example "Replays on Sonnet 5 · Work in a new session", and **Switch** sends it there. **Switch** stays disabled until you pick something other than the account and model that failed. A pick made here doesn't change what the composer offers your next chat. ### Switching Back When the original account's limit resets, what happens depends on your setting. By default Traycer asks: the card's status line reads, for example, "Work's limit has reset", and the headline "Switch back to Work?". If the account the chat is on now is itself running low, the status line says that too. * **Switch back** moves the chat back from your next message on, along with messages waiting to run. It starts a new agent session from the chat's history. * **Stay on** *account* keeps the chat where it is. You can make Traycer switch back automatically, or always stay, in [Model routing](/settings/model-routing#behavior). ### When a Turn Fails When a turn fails and no routing card is showing, the error in the chat offers steps to take yourself: * **Retry** runs the message again on the same account and model. * **Switch to…** opens the [picker](#choosing-where-to-switch). * **Wait until** *time* waits for the limit to reset, when the provider has said when and it is within your longest wait. When the reset is later than that, the card says so, for example "This limit resets at 5:00 PM — longer than Traycer is set to wait." The first button is the one most likely to help: **Switch to…** after a rate limit or a billing problem, and **Retry** after anything else. If Traycer can't do what you pressed, the card says why on the card itself, and keeps only the buttons that can still help, for example "That limit has reset. Retry instead." or "This chat is busy. The actions come back when the current turn ends." These buttons appear only on the chat's latest failed turn. They aren't shown on a chat that belongs to someone else. Messages waiting to run stay held after a failed turn, and the [Message Queue](/panels/agents/message-queue) marks them **Paused after an error**. Retrying or switching doesn't send them; resume the queue to send them. ### When Routing Runs Out of Steps If routing tries every step in your plan and none of them works, the failed turn's error becomes a single card. It shows what happened and a numbered list of what Traycer tried, such as "Switched to Sonnet 5 · Work" or "Waited until 3:00 PM for Personal", or "Nothing could be tried" when no step could run. The card offers the same **Retry**, **Switch to…** and **Wait until** buttons. Its gear opens Model routing settings, and its report button files a bug report with the full routing details. > [!NOTE] > > Turning **Route automatically** off stops new switches and waits only. Chats > already switching or waiting carry on; stop them from the card in the chat. > Your coding agent's own retries are separate and aren't affected. # Changelog Source: https://docs.traycer.ai/changelog Track the latest updates and improvements to Traycer Desktop. **v1.5.1** More control over provider model loading and recovery after interrupted updates. * **Model list timeout** — choose a timeout in a provider's **CLI & Args** tab. Use **Same for all providers** to share the setting, or give that provider its own value. * **Host startup** — an abandoned update download or preparation attempt no longer prevents starting the installed Host once the attempt is stale and no updater holds it. An update still being applied remains protected. See the [GitHub release](https://github.com/traycerai/traycer/releases/tag/desktop-v1.5.1). **v1.5.0** Profile sync across devices, independent subagent chats, and safer quitting with terminals in use. * **Provider profiles** — use **Sync profiles…** in Providers to copy supported sign-ins to your other devices. **Sync now** copies them once; **Keep in sync** also follows new profiles and name and color changes. See [profile sync](/settings/providers#sync-profiles-across-devices). * **Subagents** — continue a completed Claude Code or Codex native subagent as an independent chat in the same Task, using its existing conversation and workspace. See [Continue a subagent as a chat](/panels/agents#continue-a-subagent-as-a-chat). * **Quitting with terminals** — **Stop the host if nothing is running, otherwise ask** now also asks when the Host reports a terminal still in use, including a quiet command running inside its shell. You can keep the Host running, stop it and quit, or cancel. See the [GitHub release](https://github.com/traycerai/traycer/releases/tag/desktop-v1.5.0). **v1.4.2** Smoother startup and Start page panels, with fixes for provider sign-in and Host restarts. * **Startup** — audio setup no longer blocks the app while it opens. * **Start page** — the terminal panel slides open without resizing the page, and a collapsed panel no longer makes the page scroll sideways. * **Provider sign-in** — cancelling one sign-in attempt no longer cancels another attempt's login. * **macOS Host restart** — the app can register and restart the Host after its service was removed with `launchctl bootout`. * **Notifications** — a shell-output notification waiting for delivery now links to its chat. * **Codex** — setup guidance no longer suggests the removed `--full-auto` flag. See the [GitHub release](https://github.com/traycerai/traycer/releases/tag/desktop-v1.4.2). **v1.4.1** More reliable provider sign-in and clearer setup guidance. * **Provider sign-in** — sign-in waits while the Host prepares the provider CLI instead of ending early. Refusals and account-verification requests are shown so you can act on them. * **Models** — model names still match when a provider drops a tier marker from its model slug. * **Antigravity** — **Add custom path** is unavailable, with an explanation: the agent needs its managed ACP server rather than an installed `agy` CLI. * **macOS Host restart** — restarting recovers a Host whose service was removed with `launchctl bootout`. See the [GitHub release](https://github.com/traycerai/traycer/releases/tag/desktop-v1.4.1). **v1.4.0** Model routing, Auto mode, version history for artifacts, machines that work together, themes, labels, Antigravity, and a faster Host. * **Model routing** — when a chat hits a usage limit, gets signed out, or its provider is down, Traycer can move it to an equivalent model in the same tier. For a usage limit or a sign-out it can also switch to another account for the same agent, and for a usage limit it can wait for the limit to reset. Before it switches or starts waiting, a countdown lets you cancel or pick a different model. Turn on **Route automatically** in **Settings › Model routing**. * **Auto mode** — a new permission mode: a judge approves routine commands and asks you about risky ones. Choose the judge's model and add your own rules in **Settings › Permissions**. For Claude Code, you can use Claude Code's own classifier instead, in **Settings › Providers › Claude Code**. * **Version history** — changes to specs, stories, tickets, and reviews are saved as versions, labelled by who made them. Compare a version with the one before it, restore any version as a new one, and bring back deleted artifacts. Retention settings are in **Settings › Host › Overview › Data**. * **Your machines, working together** — agents can forward ports between your machines, so a dev server started on a remote Host opens at localhost on yours. They can also message and create agents on your other machines, run commands there, and copy files between them. A remote agent's browser tab can open in the desktop app you messaged it from. See and stop forwards in the chat's Background panel or **Settings › Host › Overview › Ports**. * **Remote sign-in** — sign a remote Host in to Claude Code, Codex, Grok, or Kimi with a one-time code. * **Themes and layout** — separate light and dark themes (Dracula, Catppuccin, Tokyo Night, Nord, Gruvbox and more), VS Code theme import and Open VSX, and a theme editor with **Pick from interface**. Themes and Start page wallpapers (with Dot pattern or Film grain) are in **Settings › Appearance**; a usage status bar and composer and sidebar options are in **Settings › Layout**. Right-click a tab to color it or add it to a tab group. * **Labels** — tag Tasks with labels that everyone on the Task sees, and filter History by label. Imported sessions get an **Imported** label. * **Antigravity** — Google's Antigravity coding agent is now available. Sign in with Google or use an API key, pick from your account's models with the effort slider, and, with a Google sign-in, see 5-hour and weekly limits for each model group. Available on Apple silicon Macs, Linux, and Windows. * **Search every chat** — ⌘⇧F / Ctrl+Shift+F searches your prompts, agent replies, and notices across all your chats on the current machine (terminal agents aren't included), and matching messages also appear in History. * **Drafts** — your unsent Start page and chat drafts, in one searchable list. Open it from the avatar menu. On the Start page, ⌘S / Ctrl+S shows that page's drafts. * **In-app browser** — browser tabs on the Start page (⌘⌥B / Ctrl+Alt+B), device presets for testing at phone and tablet sizes, and a new **Settings › Browser** page for search engine, tab placement, and agent access. * **Home tab** — everything that needs you and everything that's running, across all your Tasks. Turn it on in **Settings › Layout › Tabs**. * **Faster and lighter** — the Host's storage was rebuilt: database queries run in the background instead of blocking the Host, and chats are saved row by row instead of rewriting the whole conversation. Separately, big chats open much faster after a restart, the app uses less memory, and on a Mac the Host uses less memory and closing a big Task is much smoother. * **Mobile** — Android on Google Play and iPhone on TestFlight. The latest iPhone beta signs in through the system sign-in sheet, opens with a short guided tour, has a pull-up composer for long messages, shows artifact version history and export, and lets you request account deletion. * **Agents** — Grok supports editing earlier messages, native `/compact`, and image attachments; Claude Opus 5.5, GPT-6 Astra, GPT-6 Sol, GPT-6 Luna, and Grok 4.7 are on Traycer Inference; the model picker has a reasoning slider; Stop now works even when the agent's provider has stopped responding; and signing in to a provider account no longer interrupts running chats. * **Worktrees** — optional automatic cleanup of inactive worktrees whose work is merged or pushed, with no uncommitted changes, open PR, or active session, per machine, in **Settings › Worktrees**. * **Fixes** — chats stay open while the Host restarts; edits to an artifact are no longer dropped when its file names a different kind; the Host no longer replays old terminal output after a Mac restart, which kept the CPU busy; terminal agent arguments on Windows keep their backslashes; and the microphone no longer opens while Voice input is off. **v1.3.0** A browser inside Traycer, the mobile app, and importing your Claude Code and Codex sessions. * **In-app browser** — browse the web without leaving Traycer, and let agents drive a browser session of their own. Sign-ins are kept between sessions, can be imported from another browser on this machine, and carry over when an agent opens the same site. * **Mobile app** — follow your Tasks, agents, artifacts, terminals, and comments from your phone. Link it from **Settings › Link mobile app** by scanning a code. * **Session import** — bring existing Claude Code and Codex sessions into Traycer, from Settings or as the last step of the tour. * **Side chats** — type `/btw` or `/side` with a question to ask it in a fork, leaving the running agent undisturbed. * **Communication Graph** — an office view of the agents in a Task, search, and message cards that jump between the sent and received sides of an exchange. * **Sweep** — review worktrees in two steps before anything is deleted, let a confirmed sweep run in the background, and see worktree counts per Host. Busy worktrees can be force-deleted after Traycer shows what will be stopped. * **Long chats** — very long transcripts open quickly and load older messages as you scroll. * **Previews** — open PDFs from the workspace and git diff. * **Artifacts** — send selected artifact text to a chat, and search artifacts by path. * **Notifications** — choose a notification chime and preview it. The notification center shortcut is now ⌘⇧B / Ctrl+Shift+B, since ⌘⇧N already opens a new window. * **Providers** — the Reasonix coding agent is now available, harnesses are enabled with a plain toggle, provider packs can be checked for updates, and you control which accounts an agent may pick. Each turn shows which environment credential signed it in. * **Interviews** — review the questions an agent asked and how you answered them. * **Host updates** — updates show their progress, wait rather than interrupting busy work, and an explicitly chosen older Host is kept instead of being upgraded again. Auto-update failures on Windows and Linux are fixed. * **Remote hosts** — available on every plan. * **Tabs** — drag tabs the way Chrome does, and tear a draft off into its own tab. * **Keyboard** — Ctrl shortcuts reach a focused terminal on Windows and Linux. * **Open in** — Finder and VSCodium are available as open targets, and sidebar menus can copy an item's ID. * **Fixes** — the clock drifting on your machine no longer disconnects streams; steered messages stay where you sent them; generated titles stick in history; and the renderer uses less memory with many Tasks open. **v1.2.0** Remote hosts, chats backed up to the cloud, and usage dashboards. * **Remote hosts** — connect a Host running on another machine and run agents there. Choose the Host from the composer, browse its folders, fork a chat onto it, and filter History by Host. See [Remote hosts](/concepts/hosts/remote-hosts). * **Chat backup and sharing** — chats live on your Host with a backup in the cloud, shown in the chat header. Choose who can see each chat. * **Communication Graph** — watch the agents in a Task message each other. * **Usage dashboards** — cost, tokens, and tool calls by harness, model, or chat, exported as an image to share. * **Shells** — agents can start long-running commands and get notified when they print or exit. Each one appears as a card you can open. * **Providers** — a rebuilt Providers pane with search and filters; pick, keep, or pause each provider's CLI version; connect model providers through OpenCode; sign in to Copilot from a terminal. Hugging Face is now available, with usage limits shown for Cursor and OpenCode Go. * **Skills, MCP servers, and plugins** — manage them from Settings, including importing skills and sharing one copy across providers. * **Git diff** — edit files directly in the diff, preview images, and open large PR diffs faster. * **Composer** — mention GitHub pull requests and issues, and reuse recent folders. * **Fork an agent** — fork an agent from the app or with `traycer agent fork`. * **Terminals** — terminals persist on the Host, and agents can read a terminal's output. * **Navigation** — minimaps for artifact headings and chats, new shortcuts for moving around and opening resources, and ⌘Enter / Ctrl+Enter to confirm the primary action. * **Notifications** — read state syncs across your devices, with a shortcut to open the notification center. * **Devices & Sessions** — see and manage where you are signed in. * **Host** — restart the Host from the menu or tray, force a stop or restart when work is stuck, and scope the resource monitor to one Host. * **Worktrees** — set a branch prefix per repository. * **Fixes** — the app no longer grows to several gigabytes of memory in long sessions; streaming replies render smoothly; and archived chats are marked and can be filtered. **v1.1.10** The per-agent Epic / Regular mode control is gone. Tasks and artifacts remain. * **Per-agent mode** — the composer, settings, and `traycer agent create` no longer offer Epic Mode. That setting belonged to the agent, not to the Task. A Task is still the container for agents, files, git diff, and artifacts. * **Artifact workflow** — [Artifact workflow](/concepts/artifact-workflow) covers the remaining planning skills, typical order, and that Traycer does not guarantee an automatic skill pipeline. Picking a skill with `$` or `/` is a reliable way to run one; it is not a new requirement that every artifact be requested by hand. **v1.1.9** Two tabs side by side, search across artifacts and workspaces, and the Oh My Pi coding agent. * **Split the window** — put any two tabs side by side: a Task next to History, or Settings next to a draft. Each side scrolls on its own, and the divider can be dragged or resized from the keyboard. Drag a tab to the edge of the window and hold, or pick one from the list. * **Search** — search artifacts and workspaces, jump to nested panes by path, and find past Tasks by branch, folder, or PR number. * **Oh My Pi** — the Oh My Pi coding agent is now available. * **Agent roles** — give an agent a role, from the app or the CLI. * **Steer a running agent** — press ⌘Enter to send a message to a coding agent mid-turn instead of waiting for it to finish; Enter still queues it for afterwards. Not every coding agent supports this, and it can be turned off in Settings. * **Sidebar** — chat rows show a second line of detail and a leading icon, and archiving is easier to reach. * **Worktrees** — clear out a Task's finished worktrees from History or the sidebar, one at a time or several at once, and choose your own branch prefix. * **Context usage** — compact a conversation straight from the context chip. * **Grok profiles** — connect several Grok accounts and choose which one each agent uses, with isolated sessions and usage limits per account. * **Workspace files** — the file list keeps up as files change, and artifacts tell you once they have finished syncing. * **Notifications** — an agent that stops because it ran out of context, or because its request was refused, now tells you which. Clicking a notification opens the window holding that chat, and terminal agents get their own indicators. * **Installing and updating** — a failed install or update offers a way forward instead of leaving you stuck. On macOS, Traycer recovers from a failed background-service registration, and no longer runs slowed down in the background. * **Windows** — fixed the menu bar, window controls at non-default zoom levels, and theme switching. Environment variable overrides keep their original capitalization. * **Fixes** — drafts clear everywhere once sent; sign-in completes as soon as you approve it in the browser; updates ask once rather than twice before restarting; a terminal agent that fails to launch explains why; Worktrees keeps your selection as you move around Settings; adding an image no longer moves your cursor; a failed compaction is no longer marked as done; numbered lists keep their starting number; mentions accept spaces; the composer keeps focus when you switch panes; buttons work again after your machine wakes; and a provider being rechecked keeps its models on screen. **v1.1.8** A rebuilt notification center, the Hermes coding agent, and updates that survive being interrupted. * **Notification center** — rebuilt, with a clear way to dismiss anything needing attention and consistent wording wherever a notification appears. * **Updates** — large downloads resume where they left off, installing no longer freezes the app, and a Host that is still running is never restarted from under you. * **Hermes** — the Hermes coding agent from Nous Research is now available. * **Composer** — pick several skills at once with `$`, paste or drop files to insert their paths, and see why Send is unavailable. Images still attach as images. * **Sign-in** — the app and the CLI share one sign-in, so signing in once covers both. * **Rate limits** — Grok account usage appears alongside the other providers. * **Resource monitor** — stop an agent and everything it started in one action, with provider icons on each row. * **Terminals** — open a terminal from the start screen without choosing a folder first. * **Agent messages** — redesigned message cards, and control over what an agent is allowed to do. * **Worktrees** — the branch picker saves as you type and handles long branch lists, your filters persist, and a failed setup can be retried safely. * **Summon hotkey** — change it, or turn it off. * **Chats are now Agents** — the Chats panel is now Agents, and Settings › Agents is now Settings › Agent selection. New agents start in regular mode. Your history, saved titles, and existing references are unchanged. * **Agent selection** — guidance is now set once for everything, rather than per workspace. * **Fixes** — the Linux app icon appears correctly; provider sign-in failures stay visible instead of disappearing; history skips tabs you have closed; panels reconnect on their own; copying messages and pasting images work in installed builds; and file tabs can copy their path. **v1.1.7** Several accounts per provider, two new coding agents, artifact export, and terminals outside a Task. * **Several accounts per provider** — connect more than one account to the same provider and switch between them per conversation, with usage shown for each. Agents messaging each other use them too. * **Devin and Pi** — both coding agents are now available. * **Export artifacts** — save any artifact as Markdown or PDF. * **Terminals outside a Task** — open terminals not tied to a Task, plus a terminal panel on the start screen and a reworked Shell section in Settings. * **Fork an answered question** — return to a question you already answered and try a different path from there. * **Notifications** — tab indicators that persist, toasts you can click, alerts when a provider or workspace fails, and hooks that call a URL or run a command, filtered by severity. * **Rate limits** — Codex manual reset credits, a banner matching the model you actually picked, and a quicker way to switch accounts when you hit a limit. * **Worktrees and PRs** — worktree and PR context throughout the app, PR numbers you can search for, and status that finishes loading without scrolling and stays current. * **Claude sign-in** — paste an OAuth code when the browser redirect cannot complete. * **Artifacts** — edit the agent guide as Markdown, open links with editing behind a hover card, and pin items in a Task's history. * **Background work** — background tasks show elapsed time and readable results, and finished cards show what resumed the agent. * **Resource monitor** — counts everything an agent started, and sorts by total CPU or memory use. * **Analytics** — Traycer now collects product usage data. Automatic capture, session recording, page addresses, errors, and your content are all switched off; events are linked to your Traycer account. * **Open source** — Traycer's public repository is now MIT-licensed. * **Fixes** — Ctrl shortcuts on macOS no longer trigger the wrong action, terminal sizing and scrolling behave, the app recovers when the Host becomes reachable again instead of leaving chats offline, and WSL no longer fills up with crash dumps. **v1.1.6** Fork a chat while a question is still waiting on you. * **Fork a pending question** — branch a conversation while a question is still waiting for your answer, either to ask something else or to try a different answer alongside it. * **Compatibility** — a newer app keeps working with an older Host; anything unavailable falls back where it can, or asks you to update. * **Reliability** — requests finish before their connection closes. **v1.1.5** Traycer Desktop comes to Windows, with a resource monitor and worktree cleanup. * **Windows** — Traycer Desktop and the bundled CLI run on Windows, with window controls that follow your theme, on signed builds. * **Resource monitor** — see CPU and memory for everything Traycer runs, expand any entry to its sub-processes, and keep the section header in view while scrolling. * **Amp** — the Amp coding agent from Sourcegraph is now available. * **Worktree cleanup** — see which worktrees are stale, which have open or merged PRs, and which have landed. The list pages as it grows and links back to the Task that created each one. * **Queued messages** — pause and resume them. * **Nested agents** — Claude subagents and parallel groups appear as a tree. * **Terminal** — choose your cursor style and whether it blinks. * **Artifacts** — tabs take their name from the document's first heading, and sections can be dragged out. * **Start without a folder** — begin a chat before choosing a folder. * **Navigation** — Back and Forward follow where you have been inside a Task, including panes and tiles. * **Chat** — provider notices appear inline, and suggested next steps can be queued while an agent is still working. * **Fixes** — trackpad gestures no longer zoom the app, your window layout survives quitting, terminals stop reconnecting in a loop, and nested formatting in artifacts no longer breaks. **v1.1.4** Scheduled wake-ups get real controls, and diffs understand submodules. * **Scheduled wake-ups** — Claude's background work appears as a tree, with its status and a way to cancel a scheduled wake-up. * **Submodule diffs** — see changes made inside Git submodules, grouped by repository. * **Quote in the composer** — select text from an agent's reply and quote it. * **Long-running sessions** — chats and terminals pick up a refreshed sign-in without being reopened. * **Fixes** — terminal agents no longer die quietly when the connection drops, launching one no longer leaves an empty "New tab" behind, usage limits recover after a failed refresh, and deleting a chat clears the waiting indicator it left behind. **v1.1.3** Account usage moves into the header, alongside display scaling and font controls. * **Account usage** — check Codex, Claude Code, OpenRouter, Kilo Code, and Traycer usage from the header. * **Appearance** — scale the interface, and set separate fonts for the interface, code, and terminal. * **Canvas** — drag artifact cards, and references to specs or tickets in the same Task, onto the canvas. * **Mentions** — preview the highlighted result in a tighter menu, with results that no longer jump while you type. * **Terminals** — heavy output is faster and more reliable. * **Named agents** — give an agent a name when you create it. Provider lists also load correctly when the CLI and Host are on different versions. * **Fixes** — closing and reordering tabs works reliably, cancelling an edit restores your previous draft, actions unavailable to viewers explain why, and terminal agents no longer clutter the Terminals palette. **v1.1.2** Full access becomes the default permission mode. * **Permissions** — new conversations default to full access. * **Model picker** — Traycer models being retired carry a Deprecated badge and an explanation. * **Updating the Host** — restarts ask first, install and update no longer collide, progress appears in both the banner and Settings, and Traycer checks for new releases on launch and when your machine wakes. * **New Conversation** — the branch and worktree pickers scroll properly. * **Terminal agents** — worktree setup progress appears in the tile, with retry and open-terminal actions if it fails. * **Homebrew** — install a specific Desktop release, with x86\_64 Linux AppImage support. * **Fixes** — on WSL and manually installed Linux packages, Traycer now explains how to update by hand instead of quietly reopening the old version, and sign-in steps time out rather than hanging. **v1.1.1** Traycer remembers your model and reasoning effort for each coding agent. * **Remembered settings** — your model, reasoning effort, and speed tier are kept for each coding agent. * **Child chats** — create them from the same New Conversation dialog. * **Composer** — place image attachments where you want them in the message. * **Background work** — when work continues past a reply, Stop is no longer left active, restores are no longer blocked, and the duplicate "working" row is gone. * **Fixes** — the Mermaid editor no longer crashes, and creating a Task from the start page no longer leaves the tab loading forever. **v1.1.0** Eight new coding agents, device sign-in, and a much faster first launch. * **Eight new coding agents** — Grok (xAI), Qwen, Kiro, Kilo Code, Copilot, Kimi, Droid, and OpenRouter join the ones already supported. * **Faster first launch** — providers appear as they finish loading, so a new install no longer waits for all of them. * **Device sign-in** — sign in by approving Traycer on a web page. * **Model picker** — consistent provider order, OpenRouter models grouped by vendor, and keyboard shortcuts. * **Search** — ⌘F within a canvas tile. * **Navigation** — Back and Forward inside the app. * **Background Claude subagents** — progress keeps updating after the main reply ends, with clearer finished, failed, and stopped states. * **Context usage** — a clearer breakdown, which you can pin. * **History** — activity shown on each row, a right-click menu, and titles that fill in once generated. * **Diagnostics** — choose how much Traycer logs, in Settings → Diagnostics. * **Worktrees** — delete many at once with progress that persists, and preview a branch's setup scripts before creating one. * **Terminals** — reconnecting replays a clean screen without leftover output. * **Approvals** — approval cards summarize the command. * **Updates** — start an update yourself, move from a prerelease to the final version, and installs that were relocated or are read-only on macOS are handled. * **Homebrew** — install Traycer Desktop as a cask. * **Removing Traycer** — the Host no longer comes back after removal, and the app shows the removed state without needing a reload. * **Mermaid** — PNG downloads work. **v1.0.0** First public release of Traycer Desktop — the native app for delegating engineering work to coding agents in a local-first workspace. It bundles the Traycer CLI and provisions the local Host automatically, so there is nothing else to install. * **Tasks** — long-lived, repository-bound workspaces where you plan, chat, run terminal agents, review diffs, and keep history. Everything is stored locally. * **Coding agents, your choice** — connect Claude (Claude Code), OpenAI Codex, Cursor, OpenCode, or Traycer Inference and switch per conversation. Set reasoning effort and an optional Fast tier on supported models. * **Chats** — persistent conversations, run several in parallel, per-conversation change tracking, auto-saved drafts. * **Terminal agents** — terminal-based agents on a full xterm terminal; sessions persist across host restarts. * **Plan and review** — side-by-side git diffs, file viewing, and line-level comment threads. * **Worktrees** — isolated git worktrees keep your main checkout clean. * **Multiple machines** — choose the machine a chat or terminal runs on; each tab stays bound to its host for life. * **Native desktop** — system tray, native notifications, command palette, customizable keybindings, multiple windows, the `traycer://` deep-link scheme, and light/dark/system themes. * **Sign in once** — browser-based (PKCE) sign-in, shared with the bundled CLI. * **Background updates** — downloaded in the background and installed on quit, using signed release artifacts. * **Platforms** — macOS 12+ (Apple Silicon and Intel, signed and notarized) and 64-bit Linux. # CLI Changelog Source: https://docs.traycer.ai/cli/changelog Track the latest updates and improvements to the Traycer CLI. **v1.5.1** Starting the Host recovers from an abandoned update download or preparation attempt once it is stale and no updater holds it. An update still being applied remains protected. See the [GitHub release](https://github.com/traycerai/traycer/releases/tag/cli-v1.5.1). **v1.5.0** Manage provider profiles from the terminal, with clearer protection when rolling back the Host. * **Provider profiles** — `traycer profile` lists, adds, signs in, renames, enables, disables, and removes profiles for Claude Code, Codex, Grok, and Antigravity. See [profile commands](/cli/commands#provider-profile-commands). * **Host rollback** — before installing an older Host, the CLI also checks whether it can read the local task store. `--accept-store-format-loss` explicitly accepts that local tasks may be unavailable until a compatible Host is installed again; nothing in the task store is deleted. See the [GitHub release](https://github.com/traycerai/traycer/releases/tag/cli-v1.5.0). **v1.4.2** Quieter crash reporting and fixes for sign-in cancellation and shell notifications. * **Crash reports** — repeated failures of the same kind on one machine are grouped over an hour instead of sending a report for every command. Request-ended errors keep their cause so they can be distinguished from rejected credentials. * **Provider sign-in** — cancellation is scoped to the sign-in attempt that owns the login. * **Notifications** — a shell-output notification waiting for delivery now links to its chat. See the [GitHub release](https://github.com/traycerai/traycer/releases/tag/cli-v1.4.2). **v1.4.1** More reliable provider sign-in and Host restarts on macOS. * **Provider sign-in** — sign-in continues while the Host prepares the provider CLI, and refusals and account-verification requests are surfaced. * **Models** — model names still match when a provider drops a tier marker from its model slug. * **macOS Host service** — if neither the Desktop-managed nor CLI-managed service is loaded, start and restart commands explain how to recover: quit and reopen Traycer Desktop, or run `traycer host service install` to register the CLI-managed service. See the [GitHub release](https://github.com/traycerai/traycer/releases/tag/cli-v1.4.1). **v1.4.0** Restarts and updates that recover cleanly, a cooperative stop on Windows, and a lighter Host on macOS. * **Host restart** — on macOS and Linux, a restart that takes longer than expected is no longer reported as failed. If the service manager doesn't answer in time, the CLI says the restart is unconfirmed. A restart while an installed update is waiting for a busy Host now starts the Host on that update instead of leaving it stopped. * **Clearer recovery** — when an update is waiting and the Host isn't running, `host status` points to `traycer host update`. Commands refused because of a pending update name it and say how to recover. * **Updates** — a downgrade you confirmed with `--accept-store-format-loss` still applies when the update has to wait for a busy Host. * **Windows** — `host stop` and `host restart` ask the Host to shut down cleanly first. While the Host has work in progress, both are refused rather than cutting that work off. `--force` still stops it. * **macOS memory** — the Host starts with the system allocator's large-block cache turned off, so freed large blocks are given back instead of held. * **Agent list** — when the Host can tell, `traycer agent list` shows whether an agent's session is running, sleeping, or stopped, so a sleeping agent isn't mistaken for a stopped one. * **Host logs** — rotating `host.log` at start now shifts older logs down instead of overwriting the one the Host just rotated out. * **Crash reports** — expected outcomes, such as an expired sign-in, are no longer sent as crash reports. * **Fixes** — a Host request containing a Unicode line separator is no longer broken apart; the notice for an agent stopped before replying no longer claims the user stopped it; and monitor hints tell agents to follow up with `--expect-reply`. **v1.3.0** Reliable Host updates, a way to sign in the mobile app, and clearer commands. * **Breaking: Node.js 22.13 for npm installs** — the npm package now needs Node.js 22.13 or later; it needed 20.18 before. Update Node.js before you upgrade through npm. Homebrew and Traycer Desktop install a standalone binary that does not need Node.js. * **Host updates** — `traycer host update` shows progress, waits instead of interrupting busy work, and can move to an older release with `--release` and `--allow-downgrade`. A Host you deliberately downgraded is no longer upgraded again behind your back. * **Mobile app** — `traycer link-phone` signs the Traycer mobile app in by scanning a code, and shows a match code to compare on both sides. * **Self-upgrade** — upgrading the CLI installs exactly the version it reports. * **Clearer commands** — host lifecycle and sign-in commands say what they actually do, `host status` and `doctor` only observe unless asked to repair, and help and human-readable output are cleaned up. * **npm and nvm installs** — the Host finds a CLI installed through npm or nvm. * **Crash reports** — Host crashes are reported from the supervisor so they can be diagnosed. * **Fixes** — commands that stop the Host survive the stop on Linux and Windows, Windows Host processes are stopped by identity rather than by process id, and read-only agents are held to the read-only command set. **v1.2.0** Remote hosts, new agent commands, and a Host that recovers on its own. * **Remote hosts** — install and sign in a Host on another machine, and connect to it from the app. * **Agent commands** — `traycer agent fork`, `traycer agent stop`, and `traycer agent archive`. `traycer agent list` shows the settings each agent actually runs with. * **Host lifecycle** — `host install` signs in the Host it starts, keeps your provider CLIs across updates, and accepts `--force`. `host stop` and `host restart` take `--force` for stuck work. * **Crash recovery** — a crashed Host is relaunched instead of leaving the machine without one, and the Host keeps running when a child process runs out of memory. * **Linux and Windows** — the Host service is more reliable on Linux, with new `doctor` checks, and cleaner to install and remove on Windows. * **macOS** — the Host appears in Login Items as Traycer rather than `sh`. * **Fixes** — large command output is no longer cut off, and `doctor` reports when the Host needs you to sign in again. **v1.1.10** Proxy support and easier-to-diagnose Host crashes. * **Breaking: `--epic-id` and `--sender-agent-id` removed** — agent, workspace, and monitor commands no longer take these flags. They read the Task from `TRAYCER_EPIC_ID` and the calling agent from `TRAYCER_AGENT_ID`, which Traycer sets for the agents it launches. Scripts that pass either flag now fail with an unknown-option error. * **Proxies** — the CLI honours `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY`. * **Epic Mode removed** — `traycer agent create` no longer offers Epic Mode. * **Agent-to-agent** — agents created by other agents run with full access. * **Crash diagnosis** — the supervisor records why the Host crashed. * **Fixes** — installing the Host on Windows survives a locked file, and connections recover after a Host timeout. **v1.1.9** Agent roles, the Oh My Pi coding agent, and Host installs that recover instead of leaving you stuck. * **Agent roles** — agents claim, list, and give up named roles in a Task with `traycer agent role claim`, `list`, and `relinquish`, when agent roles are turned on in Settings. * **Oh My Pi** — create agents with `--harness omp`. * **Command help** — command descriptions now spell out what each command actually does. * **Installing the Host** — a failed install or update offers a way forward instead of leaving you stuck. On macOS, the Host no longer runs slowed down in the background, and appears in Login Items as Traycer rather than `sh`. * **Fixes** — browser sign-in completes as soon as you approve it, rather than waiting out a longer polling delay, and environment variable overrides on Windows keep their original capitalization. **v1.1.8** One sign-in shared with the desktop app, and downloads that resume. * **Shared sign-in** — the CLI and Traycer Desktop use the same credentials, so signing in once really does cover both. * **Agent permissions** — set what an agent is allowed to do when creating or reconfiguring it. * **Installing the Host** — large downloads resume where they left off. * **Fixes** — the CLI now recognizes when the desktop app already manages the Host service, and replaces a competing registration rather than just refusing it. **v1.1.7** Account-aware agent commands, Devin and Pi, and steadier Host service registration. * **Choose an account per agent** — list the accounts available for a provider and their usage, pick one when creating an agent, and switch the account an existing agent uses. * **Devin and Pi** — both coding agents are now available. * **Shell configuration** — add or remove custom shells, and restore a shell's default arguments. * **Worktrees** — listings fetch current status every time you run them. * **Service registration** — the Host service stays correctly registered across installs and updates. * **Open source** — Traycer's public repository is now MIT-licensed. **v1.1.6** * **Compatibility** — a newer CLI keeps working with an older Host; anything unavailable asks you to update rather than breaking the connection. * **Reliability** — requests finish before their connection closes. **v1.1.5** Windows binaries, the Amp coding agent, and new worktree commands. * **Windows** — prebuilt Windows binaries alongside macOS and Linux. * **Amp** — the Amp coding agent from Sourcegraph is now available. * **Worktree commands** — `traycer worktree list` and `traycer worktree delete`, showing which worktrees are stale and paging as the list grows. * **Terminal agents** — Claude and OpenCode keep the correct session when it changes. **v1.1.4** * **Git diffs** — change data can include edits made inside Git submodules. * **Scheduled wake-ups** — remain compatible with earlier 1.1 releases. * Terminal agents no longer die quietly when the connection drops. **v1.1.3** * **Named agents** — give an agent a name when you create it. * Provider lists load correctly when the CLI and Host are on different versions. **v1.1.2** * **Homebrew** — install a specific CLI version. * **Sign-in** — a stalled sign-in now times out instead of hanging indefinitely. **v1.1.1** * Host updates recover instead of staying blocked, and refuse to restart while work is still running. **v1.1.0** Install from npm or Homebrew, sign in from any device, and eight new coding agents. * **Install from npm or Homebrew** — published to both. * **Device sign-in** — sign in by approving Traycer on a web page, shared with Traycer Desktop. * **Eight new coding agents** — Grok (xAI), Qwen, Kiro, Kilo Code, Copilot, Kimi, Droid, and OpenRouter. * **Windows Hosts** — support for bundled Windows Host archives. * **Diagnostics** — choose how much the CLI logs. * **Sign-in** — long-running `traycer monitor` sessions refresh credentials ahead of expiry and update open Host connections without reconnecting. * **Removing the Host** — `traycer host uninstall --all` removes the Host for good, instead of leaving it to restart itself part-way through. **v1.0.0** First public release of the Traycer CLI — the `traycer` command that provisions and supervises the Traycer Host, handles authentication, manages configuration, and exposes Traycer's workspace and agent automation. It ships inside Traycer Desktop, so most users do not install it separately. * **Single binary** — a self-contained executable with no external runtime dependency. * **Host lifecycle** — download, verify, install, start, update, and supervise the Host as an OS-managed service. Binaries are verified by SHA-256 checksum and minisign signature before installation. * **Authentication** — browser-based PKCE sign-in (`traycer login` / `whoami` / `logout`), shared with Traycer Desktop. * **Configuration** — shell selection and environment overrides for agent sessions. * **Workspaces and worktrees** — list workspaces and create isolated git worktrees. * **Agent automation** — list, create, and message agents, read transcripts, and stream inboxes. * **Scripting** — `--json` emits a structured NDJSON stream of `progress` and `result` events; honors `CI` and `TRAYCER_NONINTERACTIVE`, plus `--quiet` / `--no-progress`. * **Platforms** — prebuilt binaries for macOS (Apple Silicon and Intel) and Linux (x64). # CLI Source: https://docs.traycer.ai/cli/commands Reference for the traycer command: sign-in, running and updating the host, configuration, worktrees, and agent automation. The Traycer CLI is the `traycer` command. Use it to sign in, run and update the host on a machine, configure the shell Traycer uses, manage provider profiles and worktrees, and let agents work with other agents in a Task. ## Installation Traycer Desktop comes with the CLI, so you only need to install it yourself to use it on its own: on a remote machine, in scripts, or from your own terminal. **npm** Requires Node.js 22.13 or later. ```bash theme={null} npm install -g @traycerai/cli ``` The npm package is [`@traycerai/cli`](https://www.npmjs.com/package/@traycerai/cli). **Homebrew** On macOS and Linux. Homebrew installs a standalone binary, so Node.js is not needed. ```bash theme={null} brew install traycerai/traycer/traycer ``` Check the install: ```bash theme={null} traycer --version ``` ### Use the CLI That Comes With Desktop Traycer keeps a copy of the CLI at `~/.traycer/cli/bin/traycer` (`%USERPROFILE%\.traycer\cli\bin\traycer.exe` on Windows). The agents and terminals that Traycer launches already have this directory on their `PATH`. Your own terminal does not. To run `traycer` there, add the directory to your `PATH`, or install the CLI with npm or Homebrew. ```bash theme={null} export PATH="$HOME/.traycer/cli/bin:$PATH" ``` ### Upgrading | Installed with | Upgrade with | | - | - | | npm | `npm install -g @traycerai/cli@latest` | | Homebrew | `brew upgrade traycer` | | Traycer Desktop, or by hand | `traycer cli upgrade` | `traycer cli upgrade` does not replace a CLI that a package manager installed. It prints that package manager's upgrade command instead. ## Global Flags `--json`, `--quiet`, and `--no-progress` work with every command. | Flag | Purpose | | - | - | | `--json` | Write machine-readable NDJSON to stdout. See [JSON Output](#json-output). | | `--quiet` | Hide non-essential human-readable output. | | `--no-progress` | Hide progress output. | | `-h`, `--help` | Show help for any command. | | `-V`, `--version` | Print the CLI version. | ## Auth Commands | Command | Purpose | | - | - | | `traycer login` | Sign in with a device code. The CLI prints a URL and a short code, tries to open the URL in your browser, and waits until you approve. You can approve on any device, so this also works over SSH. | | `traycer logout` | Sign out. Removes the stored credentials, which also signs Traycer Desktop out on this machine, and clears the local cache of chat content. A host that is already running keeps its own credential until it stops. | | `traycer whoami` | Check the stored sign-in with Traycer and print the signed-in user. This can refresh the stored credentials. | | `traycer whoami --local` | Print the stored identity without contacting Traycer. It cannot tell whether the session has expired or been revoked. | | `traycer link-phone` | Sign in the [Traycer mobile app](/account/mobile-app) by scanning a code. Needs an existing sign-in and an interactive terminal. It waits until you approve or reject the phone that scanned the code. | | `traycer link-phone --no-qr` | Print only the code to type, for terminals that garble the QR code. | CLI credentials are stored in `~/.traycer/cli/credentials`, which Traycer Desktop shares. ## Host Commands The host is the background process that runs agents, terminals, and Tasks on a machine. Traycer Desktop manages it for you. Use these commands on a machine without Desktop, or to troubleshoot. ### Check and Run | Command | Purpose | | - | - | | `traycer host status` | Show whether the host is running, with its process, address, and recent activity. It only reads; it never installs or starts anything. | | `traycer host doctor` | Diagnose the host and CLI install. For a problem it can name, it prints the command that fixes it. | | `traycer host logs` | Print the last 200 lines of the host log. | | `traycer host logs --tail ` | Print the last `n` lines. | | `traycer host logs --follow` | Keep printing new lines as they are written. Ignored with `--json`. | | `traycer host start` | Run the host in the foreground until you press Ctrl-C. To start it in the background instead, use `traycer host service start`. | | `traycer host start --cwd ` | Run the host with a specific working directory. The default is the install directory. | | `traycer host restart` | Restart the host service. If a CLI upgrade is waiting to be applied, the restart also tries to apply it, which can replace the `traycer` binary. | | `traycer host stop` | Stop the host service. | | `traycer host restart --force`, `traycer host stop --force` | Restart or stop even when the host is busy. Running terminal sessions and agent work are killed. | | `traycer host free-port-and-restart --pid --port ` | Stop the process that holds the host's port, then restart the host. This is the fix `host doctor` prints for a port conflict. Nothing is stopped if that process no longer holds the port. | | `traycer host capabilities` | List the capabilities this CLI supports, as plain text or, with `--json`, a single JSON document. | | `traycer host capabilities --has ` | Exit 0 if this CLI supports the capability, and non-zero otherwise. | ### Install, Update, and Remove | Command | Purpose | | - | - | | `traycer host ensure` | Make sure the host is installed, registered as a service, and running, and install or start it if not. Safe to run repeatedly. | | `traycer host install` | Install the latest host, register the OS service, and start the host. If you are signed out and the terminal can ask, it offers sign-in first. | | `traycer host update` | Update to the latest compatible host, then check that the host comes back. Fails if the updated host does not answer. | | `traycer host download [version]` | Download and stage a host version without touching the running host. Defaults to the latest. | | `traycer host apply` | Install the staged version. It succeeds once the files are in place and does not check that the host came back; use `host update` for that. | | `traycer host available` | List the host versions you can install. Prereleases are listed only when the installed host is a prerelease. | | `traycer host available --include-pre-releases` | Include prereleases. `--no-include-pre-releases` leaves them out. | | `traycer host uninstall` | Ask the running host to stop, then remove the installed and staged host files. The OS service stays registered. | | `traycer host uninstall --all` | Deregister the OS service, ask the host to stop, then remove the host files. On Windows the host is stopped straight away, even when it is busy. | Neither form of `host uninstall` touches your data or credentials under `~/.traycer`. If the host does not stop, the command fails and keeps the install. `--force` works with or without `--all`: it forces the stop and removes the install even if the host remains running. Running terminal sessions and in-flight agent work are killed. Options for these commands: | Option | Applies to | Purpose | | - | - | - | | `--release ` | `install`, `ensure`, `update` | Install this registry version instead of the default. | | `--from ` | `install`, `ensure` | Install from a local host archive. Cannot be combined with `--release`. | | `--allow-downgrade` | `update` | Let `--release` replace a newer installed host. | | `--force` | `install`, `ensure`, `update`, `apply` | Go ahead even when the host is busy. Running terminal sessions and agent work are killed. | | `--no-service-register` | `install`, `ensure` | Install the files only, without registering or starting the OS service. `host install` does not support it on Windows. | | `--keep-installed` | `ensure` | Keep whichever host version is installed instead of moving to this CLI's default. | | `--no-linger` | `install`, `ensure`, `host service install` | Linux only: skip `loginctl enable-linger`. | | `--accept-store-format-loss` | `install`, `ensure`, `update`, `apply` | Install a host even though chats or local tasks on this machine were saved in a newer format than it can read. Those chats and local tasks are unavailable while that host is installed. | The CLI reads the host's connection details from `~/.traycer/host/`. ### Background Service The `host service` commands manage the OS registration that keeps the host running: launchd on macOS, a systemd user service on Linux, and a Scheduled Task on Windows. | Command | Purpose | | - | - | | `traycer host service install` | Register the OS service and start the host. If you are signed out and the terminal can ask, it offers sign-in first. | | `traycer host service install --takeover` | macOS only: move host management from Traycer Desktop to the CLI. Stops the host Desktop runs, removes Desktop's registration, and registers the CLI's own. | | `traycer host service start` | Start the registered service in the background and return. | | `traycer host service status` | Show the registration and whether the host is running. It only reads. | | `traycer host service uninstall` | Deregister the service, which also asks the host to stop. The host files stay installed; `traycer host uninstall` removes them. | ### Host Lifecycle `traycer host lifecycle get` shows the current mode, whether Desktop is open, how the host was started, and whether its supervisor supports the chosen mode. `traycer host lifecycle set ` accepts `background`, `linked`, `ask`, `stop-if-idle`, or `none`. See [When you quit Traycer](/settings/general#when-you-quit-traycer) for the corresponding behavior. Setting a mode does **not** start or stop the host. Startup changes apply to the next automatic start. Quit behavior can update while Desktop is open, but a quit already in progress keeps its earlier choice. A running host with an older supervisor may need a restart; the command reports this. In particular, `set none` leaves a running host alone and switches Desktop to remote hosts on its next launch. This differs from choosing **Don't run a host** in Settings, which can ask you to confirm stopping the local host. Manually started foreground hosts remain unaffected when Desktop quits. ## CLI Commands | Command | Purpose | | - | - | | `traycer cli upgrade` | Download and install the CLI version Traycer currently publishes. For a CLI installed by npm, Homebrew, or another package manager, it prints that package manager's upgrade command instead. If the binary is in use, usually because the host runs from it, the upgrade finishes on the next `traycer host restart`. | | `traycer cli upgrade --dry-run` | Show the version and download URL without installing anything. | | `traycer cli upgrade --target ` | Fail unless the published version is exactly ``. It does not install older versions. | | `traycer cli re-anchor --binary-path --installed-version ` | Point upgrade tracking at a CLI binary you installed or moved by hand. Use it when `cli upgrade` reports that there is no recorded install. | ## Config Commands The shell and environment settings apply when Traycer starts the host and opens terminals. They are the same settings as [Settings › Shell](/settings/shell), stored in `~/.traycer/cli/config.json`. | Command | Purpose | | - | - | | `traycer config shell get` | Show the shell settings in effect. | | `traycer config shell list` | List the shells found on this machine. | | `traycer config shell set --path ` | Select a shell. Its default flags apply. | | `traycer config shell set --path -- ` | Select a shell and store its startup flags. Put flags after `--` so ones that start with a dash are not read as options. | | `traycer config shell set -- ` | Store startup flags for the selected shell. | | `traycer config shell set --path --clear-args` | Store an empty list of startup flags. | | `traycer config shell add --path ` | Remember a shell (any executable) and select it. The file must exist and be executable. | | `traycer config shell remove --path ` | Forget a shell you added. If it was selected, the system default shell is used. | | `traycer config shell revert-args --path ` | Restore a remembered shell's default flags. | | `traycer config shell reset` | Go back to the system default shell. Remembered shells and their flags are kept. | | `traycer config env list` | List environment variable overrides. | | `traycer config env get --key ` | Show one override. | | `traycer config env set --key --value ` | Set an override. The name must start with a letter or underscore and contain only letters, digits, and underscores. | | `traycer config env unset --key ` | Remove an inherited variable from the environment. | | `traycer config env delete --key ` | Delete an override. Fails if it is not set. | Provider credentials are not set here. Configure them in [Settings › Providers](/settings/providers). ## Provider Profile Commands A profile is an account a provider runs under. The provider's own CLI login is the Terminal account, which these commands call `ambient`. [Managed profiles](/settings/providers#managed-profiles) are extra accounts next to it, available for Claude Code, Codex, Grok, and Antigravity. These commands change the same profiles as **Profiles & Limits** in [Settings › Providers](/settings/providers), on the host running on this machine. | Command | Purpose | | - | - | | `traycer profile list` | List every provider that has profiles, with each profile's ID, name, account, whether it is enabled and signed in, and its last known usage-limit status. | | `traycer profile list ` | List one provider's profiles. | | `traycer profile add ` | Create a managed profile and sign it in. The CLI prints a sign-in URL, and a code where the provider uses one, opens the page in your browser when it can, and waits until the sign-in finishes. The profile is named after the part of the account's email before the `@`. | | `traycer profile add --label ` | Create the profile with a name of your own, up to 64 characters. | | `traycer profile login ` | Sign an existing profile in again. | | `traycer profile rename