← Back to essays
·2 min read·By Ry Walker

Sessions Replace Tasks, Runs, and Threads

Sessions Replace Tasks, Runs, and Threads

One of the most telling symptoms of architectural drift is when the same object has three names. In many AI-native codebases right now, you will find tasks, runs, issues, threads, and chats all referring to roughly the same thing: a unit of interaction between a human and an AI system.

The right word is session. A session is a container for work. It can include multiple tasks. It can span multiple interactions. It can be multiplayer — more than one person contributing to the same session. It can be paused, resumed, forked.

Sessions work because they do not prescribe what happens inside them. A session might be a code review. It might be a research task. It might be a conversation where someone asks a question, gets an answer, and then pivots to something completely different. Calling it a task implies a single unit of work with a completion state. Calling it a thread implies rapid back-and-forth. Calling it a chat undersells the work being done.

A session is just a session. You had a session. You got work done. Maybe you will come back to it tomorrow.

If you treat the agent as its own primitive, and you treat the session as the universal container, you can invoke any agent inside any session. You start a session. You are writing code. You realize you need a security review. You select the security agent from a dropdown. That single message runs with the security agent's prompt, tools, model, and configuration. The next message goes back to your default. This is not a new session. This is not a new tab. You are composing agents within a single workflow, the same way you might call a function from a different library.

Key takeaways

  • When the same object has three names, your architecture is drifting.
  • A session is a container for work — multiplayer, pausable, forkable, agnostic about what happens inside.
  • With the agent as primitive and the session as container, you compose agents within a single workflow.

FAQ

Why call it a session instead of a task or a thread?

Task implies a single unit of work with a completion state. Thread implies rapid back-and-forth. Chat undersells the work. Session is neutral — it does not prescribe what happens inside. Code review, research, a quick question that pivots into something else — all sessions.

What does it look like to switch agents inside a session?

You are writing code. You realize you need a security review. You select the security agent from a dropdown. That single message runs with the security agent's prompt, tools, model, and configuration. The next message goes back to your default. No new tab, no new session.