run-llama/llama_index · error · ValueError
Context is required for this tool
Error message
Context is required for this tool
What it means
Error "Context is required for this tool" thrown in run-llama/llama_index.
Source
Thrown at llama-index-core/llama_index/core/tools/function_tool.py:340
elif isinstance(raw_output, (BaseNode, Document)):
return [TextBlock(text=raw_output.get_content())]
elif isinstance(raw_output, list) and all(
isinstance(item, (BaseNode, Document)) for item in raw_output
):
return [TextBlock(text=item.get_content()) for item in raw_output]
else:
return [TextBlock(text=str(raw_output))]
def __call__(self, *args: Any, **kwargs: Any) -> ToolOutput:
all_kwargs = {**self.partial_params, **kwargs}
return self.call(*args, **all_kwargs)
def call(self, *args: Any, **kwargs: Any) -> ToolOutput:
"""Sync Call."""
all_kwargs = {**self._field_defaults, **self.partial_params, **kwargs}
if self.requires_context and self.ctx_param_name is not None:
if self.ctx_param_name not in all_kwargs:
raise ValueError("Context is required for this tool")
raw_output = self._fn(*args, **all_kwargs)
# Exclude the Context param from the tool output so that the Context can be serialized
tool_output_kwargs = {
k: v for k, v in all_kwargs.items() if k != self.ctx_param_name
}
# Parse tool output into content blocks
output_blocks = self._parse_tool_output(raw_output)
# Default ToolOutput based on the raw output
default_output = ToolOutput(
blocks=output_blocks,
tool_name=self.metadata.get_name(),
raw_input={"args": args, "kwargs": tool_output_kwargs},
raw_output=raw_output,
)View on GitHub (pinned to afd0fef371)
Solutions
- Pass ctx=... when calling a tool that requires context.
- Remove the ctx parameter from the function signature if context is not needed.
When it happens
Trigger: Thrown at llama-index-core/llama_index/core/tools/function_tool.py:340 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of run-llama/llama_index@afd0fef371 (2026-08-15).
Data as JSON: /api/errors/1bed4010f1b69d40.
Report an issue: GitHub.