#14646·AutoGPT

find_capability misses FileStoreBlock for "save file output"

Author: ntindleCreated Sep 17, 2026Updated Sep 17, 2026

find_capability("save file output") should return FileStoreBlock. It doesn't return it at all — the top five are web-request blocks:

SendAuthenticatedWebRequestBlock, SendWebRequestBlock,
ReadSpreadsheetBlock, bash_exec, SaveCampaignSequencesBlock

This came out of the tier-0 retrieval benchmark on #14568. Of the 17 block cases where the registry loses to the recorded find_block results, 13 are labelled with blocks that are not in the CI index at all (their provider OAuth is unconfigured), and are now skipped. Of the four genuine ranking losses, three are defensible — a different pick inside the right neighbourhood:

query wanted returned
Discord send edit message ReplyToDiscordMessageBlock four Discord send/DM/file/embed blocks, wanted one at rank 6
combine values into list CreateListBlock ConcatenateListsBlock, ZipListsBlock, CombineTextsBlock, wanted one at rank 7
text formatter template block TextReplaceBlock FillTextTemplateBlock first, arguably the better answer

save file output is the one that is simply wrong: nothing in the top five stores a file, and FileStoreBlock is in the index. Worth understanding why the query's tokens ("save", "file", "output") don't reach it — "output" likely pulls toward request/response blocks, and "save"/"store" may not be matching through the stemmer.

Repro, from autogpt_platform/backend:

from backend.copilot.capabilities.index import CapabilityIndex
from backend.copilot.capabilities.registry import build_entries
from backend.copilot.tools import TOOL_GROUPS, TOOL_REGISTRY

index = CapabilityIndex(build_entries(TOOL_REGISTRY, TOOL_GROUPS))
print(index.search("save file output").names[:5])

Source: Significant-Gravitas/AutoGPT