Skip to content

Chat

A chat is a conversation with an agent that stays saved in the “Chats” section of the sidebar. Use it to ask questions, think through a plan or review something without filling a task with comments. A chat can be standalone or linked to a task, and in that case the agent receives the task’s description and a read-only copy of its code. With “Act for me”, the agent of a standalone chat can create, edit and move tasks on all boards on your behalf for 8 hours.

A chat you open from the sidebar is visible only to you, standalone or linked to a task: it does not appear in anyone else’s list, not even an admin’s or an owner’s, and its link returns “not found” to anyone else. If another person opens a chat with the same agent about the same task, they get one of their own. The task’s “Chat” tab belongs to the whole workspace. When you mention an agent in the task or in a thread, it answers in the task, where everyone reads it, and that conversation does not appear in anyone’s chat list. What a private chat produces is not private: the tasks it creates, the comments and the evidence a recording saves end up where anyone would see them. The audit log records that the chat was opened, not what was said in it.

  1. In the sidebar, in the “Chats” section, click “+” (“New chat”). It is also under the “New” button at the top right, “Chat” option.

  2. Choose the “Agent”. The list shows only the agents that have the Chat stage, and marks the ones with no chat prompt or no model credential.

  3. If the conversation is about a task, pick it in “Linked task (optional)”. The list has the tasks that are not in a final stage. If you pick none, the chat stays standalone.

  4. Enter a “Title (optional)”. Without a title, the chat is named after the agent, or “Agent · task title” if you picked a task.

    New chat panel with the reviewer agent, the task Stock is not deducted when the payment stays pending and the title Stock with pending payments
    The New chat form: a required agent, optional task and title.
  5. Click “Create chat”. The panel switches to the conversation and the chat appears first in the list. If the agent already had a chat about that task, Thulu opens that one and notes “@reviewer already had a chat about “…”. You are in that one.”

  6. Type in “Write to the agent…” and send with Enter (Shift+Enter adds a line). While the agent replies you see three dots; the reply arrives on its own, even if you change page.

    Reviewer chat linked to the task Pay with gift card at checkout: the question about deducting the balance before confirming payment, the answer with three risks that name descontarSaldo() in src/checkout/giftcard.js, a second question and the agent's three dots while replying; on the right, the Web store board
    The reviewer answers with what it read in the task's code. The three dots and the green dot say it is answering the second question; the subtitle shows the agent, the task and the context used (9.1k of 200k).

The header shows a dot that turns green while the agent replies, the title (click to rename it) and the subtitle with the agent, the task title if there is one (a click opens it) and the context used. Below each reply you see the time and how long it took.

Each chat remembers the conversation between messages. By default Thulu keeps up to 5 chats with their agent running on the server and shuts down the ones that go 30 minutes without messages; the next message brings it back up and the conversation goes on where it was. A turn can last up to 5 minutes. The three values are not in the UI: on a self-hosted installation the operator changes them through the settings API (chat.max_containers, chat.idle_evict_seconds, chat.turn_timeout_seconds). How many chats are running shows in Infrastructure, under “Chat containers”.

Besides the “+”, Thulu opens chats on its own in two situations. All three kinds live in the same list.

How it opens Name in the list What the agent receives Where the reply goes
“+” or “New” → “Chat” The title you set, the agent, or “Agent · task title” If you picked a task, its description and its code (read-only) To the chat
@agent in a task’s “Chat” tab “Agent · task title” The task’s description and code To the chat
@agent in a comment thread “Agent · task title · thread” The task and what was said in the thread since its last reply To the thread, and a copy stays in the chat
  1. Open the task and go to the “Chat” tab.

  2. Write a message that names the agent with @, for example @reviewer which test cases would we need?, and click “Send”.

  3. Below your message you see “@reviewer answers in its chat →”. Click to open the chat in the sidebar.

    Chat tab of the task Pay with gift card at checkout with the message @reviewer and the link @reviewer answers in its chat, and next to it the reviewer's chat about that task with four test cases
    The mention opens a chat with the agent about that task. The task panel shifts to make room for it.

Later mentions of the same agent in the same task go to that same chat. If you archive the chat, the next mention opens a new one. On screens narrower than 1100 px, opening a task closes the side chat.

The mention turns into a comment and the agent answers in a thread in two cases: if the agent does not have the “Chat” stage (it notes “has no chat; I asked it through a mention and it answers in the comments”) or if its chat cannot take the message at that moment, for example because it is still answering another one (“Could not open the chat of …”). See Conversation and threads.

If in a comment you mention an agent that has the “Chat” stage and not the “Mention” stage, the agent answers in the thread from a chat of its own for that thread. Each thread has its own, so what was discussed in one does not show up in another.

Chat The SAVE10 coupon is applied before VAT · thread: at the top, folded, the context the agent received; the answer explains where the $180 difference between the total and the invoice comes from
A thread's chat. The context the agent received stays folded at the top; the answer is also published in the thread.

That chat lets you see what the agent received: click “Context the agent received” to expand it. What you write directly there is answered in the chat, without being published in the thread, and the composer says so (“What you write here stays in this chat; it does not go back to the task’s thread.”). To continue the thread’s conversation, reply in the thread.

With “Act for me” on, the agent of a chat can create, edit and move tasks on all boards of the workspace, with your role as the limit (an admin or an owner delegates as a developer). It does not touch boards, stages, automations, projects, agents, credentials or settings, does not decide approvals and does not resolve threads. Everything it does goes in the audit log under the agent’s name, delegated by you.

  1. Open a standalone chat that you created. Chats linked to a task or a thread cannot be delegated, because they receive messages from other people.

  2. Click “⋯” in the chat header. The first option is “Act for me”, with the text “Handles the boards’ tasks on your behalf”.

    Chat menu with Act for me off, Reset conversation, Archive and Delete chat
    The chat menu. In a chat linked to a task, Act for me appears gray with "Only in a chat that is not linked to a task".
  3. Click “Act for me”. A modal explains what the agent will be able to do and that it turns off by itself after 8 hours. Click “Turn on”.

    Modal Let @developer act for you? with the buttons Cancel and Turn on
    The confirmation before delegating.
  4. The header shows “Acts for you until …” with the time it turns off, 8 hours after you enabled it. Ask the agent for what you need, for example “Move contrast and search to Refinement”.

While the chat is delegated, only you can write in it: if another person sends a message they get “this chat acts for …; only they can write in it”. If the agent is answering when you turn it on, Thulu rejects it with “the agent is answering; turn this on once it finishes”.

The agent deletes nothing on its own. When it tries to delete a task, a comment, an attachment, a dependency or a test case, the request is held and shows up in the chat as an “@agent asks for confirmation” card.

Chat Weekly plan delegated until 8:39 PM: developer summarizes the 5 Backlog tasks, proposes moving two to Refinement and deleting the draft, moves them, and below the card @developer asks for confirmation to delete “Draft: test the old checkout” with Confirm and Cancel
The two tasks are already in Refinement. The deletion waits for your confirmation.

“Confirm” runs the deletion with your role, not the agent’s: if your role is not enough (deleting a task takes admin), the card ends as “Your role does not allow deleting this task (it takes admin).” “Cancel” discards it. Only the person who delegated can confirm, and only from their own session.

Deletion card with the status Confirmed by you
After confirming, the card says who decided.

The agent does not learn the result in that turn. If you want it to continue from there, tell it in the chat.

With delegation on, the agent can also open pull requests and, if its Chat stage grants those tools, trigger GitHub Actions runs on the repos of the workspace’s projects. This works only if the installation uses the GitHub App. Merging a PR and approving a deploy wait for your confirmation the same way. The exact permissions are in Git and GitHub.

  • By clicking “Act for me” again in the menu (“Acts for … Click to turn it off”). The person who delegated or a workspace admin can turn it off.
  • On its own, after 8 hours.
  • By deleting the chat.
  • When an owner turns off “Let chats act for the person who opened them”, in Settings → “Team” → “Delegated chats”. That ends all current delegations in the workspace and revokes their keys.

When it turns off, deletions that were still pending change to “Canceled: the delegation ended” and the next message brings the agent back up with the permissions of an ordinary chat.

Option What it does Confirms
“Act for me” Turns delegation on or off (see above) Yes, when turning on
“Reset conversation” Clears the history and the agent’s session; the next message starts from zero. If the agent is answering, it says “The agent is replying — wait for it to finish.” Yes
“Archive” Takes the chat off the list and it accepts no more messages. A notice offers “Undo” for a few seconds; after that you find it under “Show archived”, at the foot of the list, and unarchive it from there Yes
“Delete chat” Deletes the whole conversation. It cannot be undone Yes

The “<” arrow and the “X” close the panel; Escape does the same. When you reload the page, the last open chat opens again.

Chat Can read Can change
Standalone What its MCP settings let it read from the workspace Nothing in Thulu
Linked to a task (by hand or by mention) The task, its code read-only Only that task
Thread The task and the thread Only that task; the reply is published in the thread
Standalone with “Act for me” Same as standalone Any task in the workspace, with your role as the ceiling; deletions with confirmation

No chat can open other chats, write into a chat or speak in a task’s conversation.

  • “The agent is still replying to the previous message.”: each chat handles one message at a time. Wait for the three dots to disappear; your text goes back to the composer.
  • The reply arrives as “Agent error: …” and mentions the LLM credential: the workspace has no credential for the agent’s engine. Add it in Settings → “AI engines”; see Credentials and engines.
  • “every chat slot on this host is taken …” or “this workspace already has N open chats, its plan’s limit …”: all running chats are answering. Wait a minute and send again.
  • “An owner turned off delegated chats in this workspace.”: delegation is turned off in Settings → Team; only an owner can turn it back on.
  • You delegated, the agent says it moved tasks and the board did not change: check that its Chat stage has octopus-api with write and the task tools.