How does CrewAI attach tools to specific agents versus the crew as a whole?
Same topic, related formats. Practice these next.
Same topic, related formats. Practice these next.
CrewAI tools live on the Agent (default) or the Task (per-Task override that replaces the agent's list); there is no Crew-level tools field.
Imagine an electrician who carries a big toolbox to every house (the agent's tools). Most days she uses whatever she needs from the box. But for one specific job, rewiring a small fuse, the client says 'please bring only the multimeter and the screwdriver, nothing else'. That note for one job is a task-level override. The crew, in this picture, is just the team's name. The team itself does not own any tools. The people do, and individual jobs can narrow what they bring. Same pattern in CrewAI: agents own tools, tasks can narrow them, and the crew is an aggregator with no toolbox of its own.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example. Click to expand.
Everything you need to truly understand this topic: intuition, mechanics, step by step explanation, code, formulas, and worked example.
Everything important, quickly.
4 min: scope levels, the local-wins resolution rule, why there is no Crew scope, and the least-privilege Task override pattern.
Real products, models, and research that use this idea.
What an interviewer would ask next. Try answering before peeking at the approach.
Red flags and common mistakes that signal junior thinking. Click to expand.
Trying to pass tools=[...] to the Crew constructor expecting them to fan out to every Agent. There is no such kwarg, and the call silently does nothing or raises depending on the version.
The night-before-the-interview bullets. Scan these on the way to the call.
Primary sources. Skim if you want the original framing.