ComposioHQ/composio · error · Error
Bundled binary was not found for and no fallback command…
Error message
Bundled binary ${value.bundledBinary} was not found for ${context.platform} and no fallback command was provided. What it means
A local tool command references a bundled binary (shipped with the packaged Composio CLI), resolution for the current platform failed to find the binary on disk, and no fallbackCommand was configured in the tool definition. The runtime therefore has nothing to execute and throws before spawning.
Solutions
- Install the officially packaged CLI build for your platform so bundled binaries ship
- Reinstall/repair the CLI distribution if binaries are missing
- If authoring a tool, provide a fallbackCommand in the bundled-binary reference
- Verify the binary exists in the CLI's bin directory for your platform
Example fix
// before (tool definition)
{ command: { bundledBinary: 'imessage-export', platforms: ['darwin'] } }
// after
{ command: { bundledBinary: 'imessage-export', platforms: ['darwin'], fallbackCommand: 'imessage-export' } } Defensive patterns
Strategy: fallback
Validate before calling
// Before running a bundled-binary tool, probe availability: const resolution = resolveLocalTool(slug); // ensure your CLI install includes platform binaries; check install docs
Try / catch
try { await executeLocalTool(slug, args, ctx); } catch (e) { if (e.message.includes('Bundled binary') && e.message.includes('not found')) useRemoteAlternative(); } Prevention
- Install the packaged CLI rather than running from source
- Keep a non-bundled fallback command when authoring tools
When it happens
Trigger: Running a local tool whose command is a bundledBinaryRef on a platform for which no binary was packaged; using a dev install (no bundled binaries) instead of the packaged CLI; corrupted or partially extracted CLI distribution.
Common situations: Running the CLI from source via bun/node instead of the packaged binary; downloading a CLI build missing platform assets; antivirus/quarantine removing the bundled executable.
Related errors
- Bundled FFI library was not found for .
- Local command failed for
- Local tool is not supported on . Supported platforms: .
- Failed to execute local tool
- Interactive permission prompts are disabled in this…
AI-assisted analysis of ComposioHQ/composio@64b1b85502 (2026-08-28).
Data as JSON: /api/errors/16734186a2702690.
Report an issue: GitHub.
Appendix: source
Thrown at ts/packages/cli-local-tools/src/runtime.ts:60
const isBundledBinaryRef = (value: unknown): value is LocalBundledBinaryRef =>
typeof value === 'object' &&
value !== null &&
'bundledBinary' in value &&
typeof (value as { bundledBinary?: unknown }).bundledBinary === 'string';
const commandValueToInvocation = async (
value: LocalCommandValue,
context: LocalExecutionContext
): Promise<LocalCommandInvocation> => {
if (typeof value === 'string') return { command: value };
if (isBundledBinaryRef(value)) {
const resolved = await resolveBundledBinary(context.toolkit, value, {
currentPlatform: context.platform,
});
const command = resolved?.exists ? resolved.path : value.fallbackCommand;
if (!command) {
throw new Error(
`Bundled binary ${value.bundledBinary} was not found for ${context.platform} and no fallback command was provided.`
);
}
if (resolved?.exists && resolved.source === 'bundled') {
await ensureBundledBinaryExecutable(resolved.path);
}
return { ...value, command };
}
return value;
};
const resolveCommandInvocation = async (
execution: LocalCommandExecution,
input: Record<string, unknown>,
context: LocalExecutionContext
): Promise<LocalCommandInvocation> => {
const commandValue = resolveValue(execution.command, input);View on GitHub (pinned to 64b1b85502)