tinyhumansai/openhuman · error
[skills][composio] failed to load composio mode status:
Error message
[skills][composio] failed to load composio mode status:
What it means
Fetching the Composio mode status (openhumanComposioGetMode) failed for a local session on the Skills page. The effect leaves hasComposioApiKey unset (null), which suppresses the local-API-key banner — the page renders without knowing whether a Composio key is configured rather than assuming it is absent. Common causes: core RPC unreachable or the Composio integration check erroring core-side.
Source
Thrown at app/src/pages/Skills.tsx:621
const [selectedCategory, setSelectedCategory] = useState<SkillCategory>('All');
const [hasComposioApiKey, setHasComposioApiKey] = useState<boolean | null>(null);
const showLocalComposioApiKeyBanner = isLocalSession && hasComposioApiKey === false;
useEffect(() => {
if (!isLocalSession) {
setHasComposioApiKey(null);
return;
}
let cancelled = false;
void openhumanComposioGetMode()
.then(res => {
if (!cancelled) {
setHasComposioApiKey(Boolean(res.result?.api_key_set));
}
})
.catch(err => {
if (!cancelled) {
console.warn('[skills][composio] failed to load composio mode status:', err);
setHasComposioApiKey(false);
}
});
return () => {
cancelled = true;
};
}, [isLocalSession]);
const bestChannelStatus = (channelId: ChannelType): ChannelConnectionStatus => {
const conns = channelConnections.connections[channelId];
if (!conns) return 'disconnected';
const statuses = Object.values(conns).map(c => c?.status ?? 'disconnected');
if (statuses.includes('connected')) return 'connected';
if (statuses.includes('connecting')) return 'connecting';
if (statuses.includes('error')) return 'error';
return 'disconnected';
};
View on GitHub (pinned to 7491200858)
Solutions
- Check the warned error for transport vs controller failure
- Confirm the core process is running and the integrations surface is compiled in/enabled
- Re-navigate to the Skills page to re-trigger the status fetch once healthy
- If it persistently fails, inspect the core log for the composio mode check
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at app/src/pages/Skills.tsx:621 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/dedd6c5817af9bcf.
Report an issue: GitHub.