Hover/Tag

How Tag works

How Slack, the agent workspace, and permitted context fit together.

Here is the basic model:

The mental model

Slack is where your team delegates. The agent does the work. MFS supplies permitted context when the task needs it.

The three parts

PartWhat it doesWhat the operator chooses
SlackHolds the request, thread context, working state, and resultApp installation, authorized callers, and selected channels
Agent workspaceRuns Codex or Claude in the Tag's folder (~/Tag/<id>) and gives the agent files and locally available toolsAI connection, model and thinking level, local tools, and process permissions
MFSActs as a searchable context layer over indexed sourcesConnectors, credentials, indexed sources, and allowed retrieval scopes

Slack is the shared interface, not the place where commands run. The CLI agent does the work, but it does not automatically know the organization's history. MFS gives it searchable context without opening every indexed source to Tag.

What happens after a mention

flowchart LR
    Mention["You mention<br/>your Tag"] --> Read["Tag reads new thread<br/>messages and files"]
    Read --> Agent["Codex or Claude<br/>continues the thread's<br/>conversation"]
    Agent -.->|if needed| MFS["Search permitted<br/>MFS scopes"]
    Agent --> Reply["Reply, files, and<br/>activity in Slack"]
    Reply --> Follow["Team follows up<br/>in the thread"]
    Follow --> Mention

While the agent works, the thread shows its live activity. If it needs a decision, only the requester gets a private approval prompt.

A later mention in the same thread continues the same agent conversation and receives only the new thread messages. A new or fresh conversation receives one page of up to 30 thread messages, and the triggering request separately. You can ask your Tag to "compare that with the current plan" without restating the discussion. By default, only the owner can request work from their Tag. Teammates can add details in the thread for the owner's next request to draw on. See Sharing access to your Tag if the owner needs to let others make requests. Anything outside that slice of the thread must come from the workspace, an approved MFS source, or a tool available to the agent.

What persists

InformationPersists whereAvailable on a later mention?
Current conversationSlack thread and the agent conversation for that threadYes, for the same requester, until 4 idle hours or the size limit
Files and task outputConfigured workspaceYes, while they remain in that workspace
Indexed organizational contextMFSYes, while the source remains indexed and permitted
Earlier tool results and reasoningThe thread's agent conversationYes, in the same thread
The Tag's model and thinking levelTag's settingsYes, for every request to that Tag

A follow-up works because Tag continues the thread's conversation and because the workspace and indexed sources are still there. See ADR 0009.

When Tag uses MFS

Tag does not search MFS for every request. The current thread may already have the answer, or the task may only involve files in the workspace.

When outside context is needed, the agent uses Tag's bundled helpers, which call the local MFS server's HTTP API. They search only roots listed in MFS_ALLOWED_SCOPES. Search results can then be reopened for more precise evidence. A source must be both indexed in MFS and permitted to this Tag deployment before the agent can retrieve it through the bundled helpers.

What operators control

The operator configures:

  • who can invoke Tag;
  • the Slack channels where Tag may run;
  • whether Codex or Claude performs the work, through a shared AI connection;
  • the Tag folder in which the agent runs;
  • the MFS sources and roots available for retrieval;
  • credentials and grants used by connectors and local tools;
  • the Tag's model and thinking level, timeouts, and retries.

For the exact current feature set, see Supported capabilities. For the implementation-level behavior contract, see the runtime agent reference.

Last updated

On this page