Skip to content

Intent Management ​

Intents are the core unit of work in Vibedata. Each Intent represents a distinct data question or pipeline and keeps its own Conversation. An Intent normally uses an Intent Branch and Ephemeral Workspace. Any Intent can instead run without those managed resources while still using the Domain repository, production data, Secrets Scope, plugins, tools, model, and a writable agent-container workspace. An Intent started by a Custom Automation instead follows that Automation's resource choice, whichever Agent it uses.


Creating a new intent ​

  1. In the sidebar, click New intent to create an Intent with an Intent Branch and Ephemeral Workspace. The menu beside New intent offers both choices: With branch and ephemeral workspace (the same as clicking New intent) and Without branch and ephemeral workspace. The command palette offers New intent and New intent without branch and ephemeral workspace.
  2. If more than one Agent is available, Create intent asks you to choose one. Use the arrow keys to move between the agent options and press Enter or Space to choose the focused one; the chosen option is marked with a filled indicator as well as a highlighted border, so selection never depends on colour alone. Click Create. When only one Agent is available, no dialog appears and Vibedata uses it.
  3. Vibedata creates, activates, and opens the Intent through the normal setup flow.

If no Agent is available, or the Agent list cannot be loaded, Vibedata shows an error with Retry and creates nothing.

While Create is in progress, leaving waits for the request to finish. If you choose another page during that wait, Vibedata saves the new Draft Intent and then opens the page you chose. If creation fails, the dialog stays open with the error so you can retry. Once setup starts, you may leave and return to the Intent without starting setup again.

Choose without resources for work that needs no managed code or data-platform changes. The choice cannot be changed after creation. Other ways to start an Intent, such as welcome cards, create it with resources, except the Check runtime health card, which only reads and creates it without resources. Vibedata initially names the Intent New Intent and opens rename editing; you can rename it later from the context menu.

Tip: The New intent button is disabled when the active domain is archived. Switch to an active domain first.

If an agent creates an Intent but times out before sending your request, ask it to find and reopen that existing Intent, resolve any setup or access problem, and send the original request there. If delivery is uncertain, check the Conversation before sending again.

Following Intent setup ​

When an Intent needs setup, the page lists steps under Access, Code, Data, and Agent. A step that ran shows its recorded name, outcome, and elapsed time. On a return visit, the page reads the current run's recorded results. Open steps return to waiting after the agent session ends.

The Setup log names each item as it runs, including work within a step. Use Copy log to copy its lines, or Jump to latest after scrolling up. The live log is not replayed when you return; the step list still shows the stored results. If setup fails, review the failing step and choose Retry after resolving the cause.

If the page says Open refused, follow the profile guidance instead of retrying setup. Pause and reopen the Intent to use this profile. means the running session cannot use the selected profile yet. Select a model before opening this Intent. means no usable model is selected. Use Back to Intents to leave the page and resolve the profile choice. This notice has no Retry button and does not mean the Intent opened. It remains visible when you return until the profile or session has been corrected; then the page tries to open the Intent again.

If the page says Finishing session shutdown, the previous agent session is still shutting down. The page shows when Retry becomes available. While the previous session is shutting down normally, that is a few seconds; only a stalled shutdown asks for a longer wait. When the page shows Retry no earlier than followed by a local date and time, Retry is disabled until that time. The time is a retry delay, not a promise that shutdown has finished; an attempt while shutdown is still pending shows the wait again. Vibedata never retries setup automatically.

After reloading or returning to the page, the stored failure still explains the shutdown wait and shows error code agent_session.teardown_pending. The page says The previous retry delay is not available rather than inventing a new deadline. Wait for shutdown to finish, then choose Retry, or use Back to Intents and open the Intent again later. A successful retry starts a fresh agent session while keeping the Conversation. A stalled shutdown can recover through that ordinary retry after its protected wait; you do not need to restart Vibedata.

Agent identity and AI authorship ​

In a new Intent, the Agent identifies itself as Vibedata, including in external comments, messages, and pull request descriptions, and discloses AI authorship. Build, Fix, and Detect still determine how it approaches your work. AI-assisted commits credit Vibedata at help@getvibedata.ai; your configured human git name and email address are preserved.

Existing Conversations retain their original identity guidance. To receive changed guidance, use New intent after your deployment receives the Agent Server update. Pausing, reopening, or Forking an existing Conversation does not replace that guidance or rewrite earlier commits.


Searching intents ​

Use the Search intents... bar at the top of the sidebar to filter the intent list:

  1. Click the search bar (or press the Search intents icon when the sidebar is collapsed).
  2. Start typing — the list filters in real time.
  3. Click the × button at the right of the search field to clear and show all intents.

Search matches against the intent title, case-insensitively.


Intent list sections ​

Intents are grouped into collapsible sections, each with a header showing the section name and a count badge:

SectionContentsDefault state
StarredPinned intents that are not archived. Only shown if at least one exists.Expanded
RecentsNon-pinned, non-archived intents. Always shown.Expanded
ArchivedArchived intents. Only shown if at least one exists.Collapsed

Click the section header chevron to expand or collapse each section.

Below Archived, a collapsible Recently deleted group lists intents deleted within the last seven days. Hover over or focus a title (Tab reaches it) to see the time it is retained until. The count shows 100+ when there are more than the list can show. A deleted intent offers no actions — it cannot be reopened, restored or forked. If Vibedata cannot load it, the group shows a Retry instead of disappearing — a failed read never reads as "nothing was deleted".

When there are no intents at all, a centered message reads: "No intents yet. Create one to get started." (or "No intents match your search" when a search query is active).


Intent card anatomy ​

Each intent card in the list shows:

ElementPositionDescription
Archive iconBefore the titleSmall archive icon, only shown for archived intents
TitleLeft sideIntent name; shortened names reveal their complete text on hover or keyboard focus. The selected Intent's title is bold.
Status indicatorRight sideOne labeled composite status, shown only in Driving or Watching; shortened text reveals its full wording on hover or focus.
UnstarRow actionsAction for a starred Intent, shown with the row actions on hover, keyboard focus, or while selected.
Three-dot menuRight sideAppears on hover or keyboard focus (or when open); sits beside the card row and gives access to all intent actions

Opening an intent ​

Select an Intent card to enter its workspace. Vibedata uses the card's current status to decide whether it can attach immediately or must restore the session first:

  • Ready, Working, and Waiting for confirmation attach immediately when Vibedata can confirm that the existing agent session is yours and healthy.
  • Sleeping, Runtime failed, and Runtime disconnected restore or reconnect the retained Conversation before enabling the workspace. They do not start the work again.
  • Watching, Archived, and Terminal open read-only. Completed and Closed Intents show opening progress while Vibedata restores the retained Conversation and its history. If opening fails, the page keeps the error until you choose Retry.
  • Setup and recovery states such as Draft, Provisioning, Activation failed, Release pending, Unarchiving, and Invalid keep their status-specific controls instead of opening an agent session.

An immediate attachment confirms that you still hold the Intent's Edit Lease before Vibedata enables drive controls. If confirmation fails, Vibedata returns to the Intent's Domain and shows the specific cause: The edit lease is no longer available, You no longer have permission to drive this Intent, This Intent is no longer available, or Lease confirmation could not be completed. The existing agent session remains online; select the Intent again after resolving the cause.

If an Intent that is already selected becomes Sleeping, Vibedata returns you to its Domain without showing a connection-loss warning. A Runtime disconnected failure also ends the selection, but Vibedata reports the lost connection. In either case, select the Intent again to make a deliberate reconnect attempt.


Context menu actions ​

Hover over an intent card to reveal the ⋯ (three-dot) context menu. Click it to see these options:

If an action fails, Vibedata shows the error with a Retry instead of losing it: a confirmation dialog stays open until the action succeeds, and an action with no dialog shows the error on the intent card. Dismissing a dialog clears its failure.

Details ​

Opens the Intent details drawer, a read-only panel that slides in from the right:

  • Title
  • Agent
  • Intent resources — Required or Not required
  • GitHub Branch — shown only when Intent resources are required
  • Ephemeral data-platform resource — shown only when Intent resources are required; its label and link depend on the Domain platform

Long values wrap onto more lines rather than being cut off. The branch, the conversation ID and the data-platform resource name each have a copy button.

Close the drawer with its Close control or Escape. If a detail section cannot be read — for example workspace details — the drawer shows a Retry in its place rather than an empty result.

Star / Unstar ​

Toggles the pinned state of the intent. A starred Intent sorts before its unstarred bucket-mates, and its Unstar control appears with the row actions on hover, keyboard focus, or while selected. The menu item label toggles between "Star" and "Unstar" based on current state.

Share intent ​

Copies a direct URL to this intent to your clipboard. The URL uses the ?intent=<id> query parameter format. A toast notification confirms "Link copied to clipboard".

Rename ​

  1. Click Rename in the context menu.
  2. The intent title becomes an inline text input, pre-selected.
  3. Edit the title and press Enter to save, or Escape to cancel.
  4. Clicking outside the input also saves the new title.

Pause ​

Only the person who holds the active Edit Lease sees Pause in an active Intent's ellipsis menu. Pause remains available while a Turn is running or waiting for confirmation. Choose it when you want Vibedata to settle that work, release your Edit Lease, close the Intent, and return you to the selected Domain so you can choose another Intent there. Vibedata returns to Workspace only when no Domain is selected; changing Domain is a separate action.

Choosing Pause first asks you to confirm, because settling the session and releasing the Edit Lease can lose uncommitted work. Cancel leaves the runtime untouched and Pause stays available to try again. Confirming starts Pause: the Intent shows a Pausing… state and does not accept new messages or other driving actions. Vibedata keeps your Edit Lease until the agent reaches a safe settled state. Once it does, Vibedata leaves the Intent even if container cleanup is still finishing. If Pause fails, the Intent stays open, keeps the lease, and accepts input again so you can retry.

If the agent doesn't settle within about 30 seconds, Vibedata stops the container for you and finishes Pause the same way a normal Pause does — releasing your Edit Lease and leaving the Intent dormant. You already approved this when you confirmed Pause, so it is not asked again.

Pause always ends with the Intent dormant, never with a fresh session in place. To start over with a fresh agent runtime — for example after changing action-confirmation settings, or to reload MCP connections — Pause the Intent, then open it again. Opening keeps the Intent, Conversation, edit lease eligibility, presence, and any managed resources intact and starts a new AgentSession the same way opening any dormant Intent does.

Use the chat Stop button instead when you want to interrupt a Turn but remain in the Intent. Stop leaves the Intent open and the Edit Lease held.

There is no duplicate Stop item in the ellipsis menu and no native right-click menu. /conversation/cancel is only the endpoint behind the chat Stop button; it is not a separate Cancel action.

While an agent Turn is running or waiting for confirmation, Mark as merged, Close, Archive, and Delete are disabled for that Intent. Use Stop agent to end the current Turn or Pause to release the Intent, then retry the lifecycle action after the Turn settles. Other Intents remain available.

Pause is optional. Leaving an Intent, switching to another Intent, or closing the page does not pause the conversation; it only stops browser heartbeat and presence. On an Active Intent, viewers do not keep the AgentSession alive. Once the ordinary lease and any active work finish, the runtime may sleep. Vibedata then returns every attached viewer to the Domain and clears their Presence; any eligible person can select the Intent to open it again.

For a Completed or Closed Intent, the read-only session stays available while at least one viewer is present. Leaving the Intent or closing the last viewing tab lets that session sleep after viewer presence expires. Reopening restores the same Conversation and history.

A successful Pause closes the shared AgentSession for everyone watching that Intent. Vibedata returns every attached browser to the Domain; reopening starts a fresh AgentSession on the same durable Conversation.

When other people have the Intent open, the footer shows who is editing and the earliest connected viewer by name. If more viewers are present, Vibedata shows their number as +x instead of listing every name. Your own browser user and the editor are not included in that viewer count.

Repair ​

If a card is Invalid, its row shows the Invalid status and the Intent cannot be opened. Open ⋯ → Details to see the conditions that make it invalid, together with the Intent's Branch and workspace information. Where a repair is available, the Repair dialog explains the recovery Vibedata will try.

For an Active Intent, Repair appears in the ⋯ menu only when every invalid condition is an unavailable Branch, unavailable Ephemeral Workspace, or a runtime that needs reset. Other invalid states are Close-only.

The Repair this Intent? dialog explains the recovery Vibedata will try. Depending on the problem, Vibedata recreates the Branch from the current tip of the Domain's default Branch, creates a fresh Ephemeral Workspace from the Domain binding, resets the stale runtime, or combines those actions. Choose Cancel to leave the Intent unchanged or Repair to proceed.

Vibedata reports repair success only after checking that the Intent is no longer invalid. If any problem remains, the dialog shows the remaining repair plan and stays open. Choose Repair again to retry; there is no attempt limit, and Vibedata does not open the Intent after an incomplete repair.

After a successful repair, Vibedata immediately attempts a normal Open. If that Open fails, the dialog offers Retry Open. Close remains available in the ⋯ menu.

Archive / Unarchive ​

  • Archive — tears down the AgentSession, keeps the Conversation and any managed Intent resources, and moves the Intent to the Archived section.
  • Unarchive — restores the Intent to Active. Resource-backed Intents reuse their retained Branch and Workspace. A resource-less Intent creates no resources; its next cold Open clones the Domain's then-current default Branch.

Both operations are available from the context menu. The menu item label toggles between "Archive" and "Unarchive".

Archiving a resource-less Intent intentionally discards files in its disposable clone without staging, committing, or pushing them. The Conversation remains available.

Fork ​

Choose Fork to create a new Intent with a copy of the source Conversation. The source remains unchanged. Fork Intent asks whether to Create an Intent branch and ephemeral workspace for the child, checked by default for every Agent; the child's choice is independent of the source.

Fork only creates the child and copies the Conversation. While it runs, a Fork dialog shows its progress and cannot be closed; it can take a minute or two, because copying the Conversation and preparing the child take time. If it fails, the dialog shows the actual error and its code, and offers Retry when trying again can help. If it takes longer than expected, the dialog says the Fork may still be running and to check the Intent list. When it finishes, the new Intent appears in your Intent list as a Draft. Open it when you are ready, and its setup runs when it opens.

A resource-backed child of a resource-less source starts from the Domain default Branch and provisions a new Ephemeral Workspace. Fork never copies disposable file changes from a resource-less source; it copies the Conversation context.

You cannot Fork while the source agent is running a turn; wait for it to finish. Fork stays visible but is disabled, with the reason Available when the current turn finishes. For a resource-backed source, any uncommitted workspace changes from a turn are not copied; the child starts from the source Branch's durable tip.

To fork from a message, hover over an eligible user or assistant message and choose Fork from here. The child includes that message and earlier Conversation history; later messages remain in the source. The message is not put into the child composer or submitted again.

An agent can also create the same parallel Intent from its current work. The agent's own Fork is exempt from the wait above — it is deferred until the agent's current step finishes — and keeps the default <source title> (Fork) name and starts without an initial message. The child exists but is not set up or running until the agent opens it; the agent then sends it a follow-up when it is ready for work.

Mark as merged ​

Resource-backed work can use Mark as merged under the normal lifecycle and PR rules. Choosing it asks you to confirm, because completing the Intent ends its active work with no undo: new turns stop and the workspace and branch are reclaimed. Only continue when the Intent's pull request is merged to main.

For a resource-less Intent, the item remains visible where applicable but is disabled with the explanation Mark as merged requires an Intent branch and ephemeral workspace. A direct Complete API call is a successful no-op and does not change the Intent's state.

Delete ​

  1. Click Delete, the last item in the context menu, below a divider.
  2. In the confirmation dialog, type the Intent's slug to enable Delete, then click it.

Deletion is permanent. Vibedata hides the Conversation for a seven-day audit tombstone and reclaims any managed Intent resources; there is no restore action.

If the intent's agent is mid-turn, the delete is blocked and Vibedata explains that the running turn must be stopped first — the intent is left untouched rather than reported as deleted.


Intent states ​

StateVisual indicator
SelectedTinted row with an accent bar on its left edge; it stays marked while you work in the chat
StatusUser-scoped status indicator on the right, shown only while you are Driving or Watching that Intent
Status unavailableThe server status could not be confirmed; the card remains visible but cannot be selected
Runtime disconnectedThe live connection to the retained Conversation was lost; sending is unavailable until you select the Intent again
StarredSorted before unstarred Intents in its section; Unstar appears with the row actions on hover or keyboard focus
ArchivedArchive icon before the title; listed in the collapsed Archived section
Clone pending"Setting up workspace" banner with spinner in the chat area
Clone failedError banner with actionable message and Retry Setup button

Intent rows show the Intent name and its composite status, without supplementary workspace indicators or workspace-details hover. Use Details from the options menu for workspace information. Long names and statuses end in an ellipsis; hover or keyboard focus reveals the complete text. Rows stay on one line.

If a card shows Status unavailable, Vibedata automatically refreshes its status once. If the status remains unavailable, open the context menu and choose Refresh status to try again. Until the server returns a complete status, the menu shows only Details and Refresh status; actions that change the Intent are unavailable.


Quick reference ​

ActionHow
Create intentClick New intent button in sidebar
SearchType in the Search intents... bar
Clear searchClick × in the search bar
RenameContext menu → Rename → edit → Enter
Star/unstarContext menu → Star or Unstar
ShareContext menu → Share intent → copies ?intent=<id> URL
View detailsContext menu → Details
ForkContext menu → Fork (not while the source turn runs)
Fork from hereEligible message hover → Fork from here (not while the source turn runs)
Mark as mergedContext menu → Mark as merged (resource-backed only)
PauseEllipsis menu → Pause (only while you hold the Edit Lease)
Fresh sessionPause the Intent, then open it again
RepairEllipsis menu → Repair → confirm
ArchiveContext menu → Archive
UnarchiveContext menu → Unarchive
DeleteContext menu → Delete → confirm