The Problem Contexts Solve
A next action list with fifty items on it creates a subtle form of stress. You scan the list, see “Call the plumber,” but you are sitting at your desk at work. You see “Buy wood screws,” but you are nowhere near a hardware store. You see “Review the contract with Sarah,” but Sarah is on vacation. Every irrelevant item you scan past costs you a small amount of mental energy and erodes trust in your system. After enough scanning, you stop looking at the list altogether.
Contexts solve this by answering a single question before you even think about priority: given where I am and what tools I have available, which tasks can I actually do right now?
What a Context Represents
In GTD, a context is the condition required to perform a task. David Allen describes contexts as the first filter in the Engage decision: before considering time available, energy level, or priority, you filter by what is physically possible.
The classic convention uses the @ prefix to distinguish contexts from other labels:
- @computer — tasks requiring a computer
- @phone — calls to make
- @office — tasks that can only be done at the workplace
- @home — household tasks
- @errands — things to do while out (hardware store, post office, dry cleaner)
- @anywhere — tasks with no location or tool dependency
These are starting points, not a fixed taxonomy. Your contexts should reflect your actual working conditions.
Types of Contexts
Contexts typically fall into several categories, and most people use a mix:
Location-based. Where you need to be. @office, @home, @downtown, @gym. These are the most traditional contexts and remain useful for anyone who moves between physical locations during the day.
Tool-based. What you need access to. @computer, @phone, @workshop. In an era of remote work, “at my computer” may cover most of your day, which is a signal that a pure tool-based context system needs refinement.
Person-based. Who you need to be with. @boss, @partner, @sarah. When you finally get five minutes with someone, you want every item that requires their involvement surfaced immediately. Capture GTD also supports a dedicated People feature for delegation and Waiting For tracking, but person-based contexts remain useful for ad-hoc “things to discuss” lists.
Energy-based. What mental state the task requires. @deepwork, @brainless. Some practitioners find this valuable for matching tasks to their energy throughout the day — grinding through low-energy administrative tasks after lunch, saving creative work for morning focus hours.
Time-based. When the task can happen. @morning, @weekend. These overlap with scheduling, but some tasks are not calendar-specific yet still belong to a time window.
The categories are not mutually exclusive. A single task can belong to multiple contexts. “Draft the proposal” might carry both @computer and @deepwork because it requires a computer and sustained concentration.
Why Contexts Matter More Than Priority
This may seem counterintuitive, but contexts are more important than priority when deciding what to work on. Here is why: a Critical-priority task that requires a whiteboard is worthless if you are on a train. Priority only matters within the set of tasks you can act on right now.
David Allen’s recommended Engage decision sequence is:
- Context — What can I do here?
- Time available — How much time do I have?
- Energy available — How much energy do I have?
- Priority — Of the remaining options, which matters most?
Context comes first because it is the most objective and restrictive filter. You either have a phone or you do not. You are either at the office or you are not. There is no judgment call required.
Capture GTD supports this sequence directly. The Engage view accepts an optional context filter. When you select a context, only tasks tagged with that context appear. From that filtered list, Capture GTD’s impact scoring algorithm handles the priority dimension, surfacing the highest-value work within your current context.
How Capture GTD Implements Contexts
Contexts in Capture GTD are user-created entities. The system does not impose a fixed set of contexts — you define the ones that match your life. Each context is a named tag stored as its own aggregate in the domain model.
Creating contexts. You create a context by giving it a name. The name must not be blank. You can create as many contexts as you need: “Computer,” “Phone,” “Office,” “Home,” “Errands,” or whatever terms match your workflow.
Assigning contexts to tasks. When you clarify an inbox item into a Todo (action), you can assign one or more contexts. You can also add or remove contexts from existing tasks at any time. Contexts are stored as a set of references on the task, so a single task can belong to multiple contexts simultaneously.
Filtering by context. The Engage view supports filtering by a single context, showing only tasks tagged with that context. This is the primary use case: you arrive at a location or sit down with a tool, select the matching context, and immediately see every action available to you.
Analytics. During reviews, Capture GTD provides task counts grouped by context — both for completed tasks within a time period and for all incomplete tasks. This helps you spot imbalances. If your @office context has forty incomplete tasks and @home has three, that tells you something about where your commitments are concentrated.
Best Practices
Keep the list short. Aim for three to eight contexts. If you have fifteen contexts, you will spend time deciding which context to look at rather than doing work. Merge overlapping contexts ruthlessly.
Match your reality. If you work from home and rarely go to an office, @office is wasted overhead. If you do everything on your laptop, @computer might encompass 90% of your tasks, making it useless as a filter. In that case, break it into more specific contexts like @email, @coding, or @writing.
Review and prune regularly. Contexts should evolve as your life changes. A job change, a move, or even a shift in daily routine can make existing contexts obsolete. During your weekly review, glance at your context list and ask whether each one still earns its place.
Use contexts for what priority cannot express. Priority tells you what matters most. Contexts tell you what is physically possible. Do not use contexts to encode importance — that is what the importance field is for. A context should represent a genuine constraint on when and where you can act.
For step-by-step instructions on creating, updating, and organizing your contexts, see the Manage Contexts guide.