Skip to content

Claude AI Integration

FolioOrb treats Claude as an enhancement layer, not a dependency. The distinction matters enough that it’s worth spelling out exactly how it works.

  • Action plan thesis text on top of the deterministic buckets
  • Portfolio briefings summarizing overall state in plain language
  • News themes synthesized across headlines
  • Richer per-holding insight copy

Verdicts, scenarios, exposure, analytics, and fallback summaries all run on Local Intelligence — a deterministic engine that’s always on, whether or not a key is configured. If Claude is unreachable or unset, the dashboard degrades to local output rather than showing an error.

Once a key is connected, the dashboard tracks live token usage for the running process:

  • Actual input/output tokens accumulated this session
  • Actual cost in USD
  • A predicted per-run cost so you know what a full scan costs before you click refresh

Claude responses are cached in SQLite where appropriate. Refreshing a tab does not automatically mean paying for another model call — cached output is reused until it’s stale enough to warrant a fresh one.

FolioOrb calls claude-haiku-4-5 via the Anthropic SDK for most narration — summaries, briefings, news themes, and verdict quips — chosen for the latency and cost profile of a dashboard that expects frequent refreshes. The portfolio action plan uses claude-sonnet-4-5, which does the heavier cross-holding reasoning.