Chat: the surface, not the substance.
Chat is where you talk to agents — but in GoTo Agents, conversation is deliberately not where the substance lives. Files, memory, and status carry the work; the chat is how you move it forward. That one design choice changes how sessions behave.
Sessions
Pick a workspace from the top nav and its default agent is ready to talk. Every conversation is a session tied to that workspace and agent — resume, rename, or delete sessions from the Sessions tab in the sidebar. Because decisions land in project memory and the project files as you go, an old session is an archive, not a lifeline: you can abandon one mid-thought and start fresh tomorrow without losing anything that mattered.
Switching agents mid-conversation
Use the agent selector in the chat header to bring in a different collaborator — your editor instead of your co-writer. The conversation is summarized before the switch, so the incoming agent gets briefed on what's happened so far, and it reads the same project memory and library as everyone else. The result feels like handing work across a desk, not starting over.
Project context
Attach a local folder via the Project tab and the agent works on your actual
files — reading, writing, and creating them with its file tools. The folder's
GOTOAGENTS.md instructions and .gotoagents/MEMORY.md
shared memory load into every agent's context automatically. See
Projects & Memory.
Modes inside a conversation
Two things can reshape a conversation without leaving it:
- Activities — you or the agent switch into a working mode (brainstorming, drafting, reviewing) and the playbook drives the session until you switch out.
- Skills — the agent loads packaged know-how on demand when the task calls for it, then sets it aside.
Where it lives
core/chat_session_manager.py— session persistence and lifecycle.core/agent_runtime.py— the conversation runtime: model calls, tools, context assembly.core/switch_agent_tool.py/core/consult_agent_tool.py— agent switching and one-off consultation.