Skip to content

FAQ and Troubleshooting

Rafael edited this page Jul 15, 2026 · 1 revision

❓ FAQ & Troubleshooting

Why doesn't the AI just do the math itself?

Because language models are demonstrably capable of producing confident, plausible-looking arithmetic that's simply wrong — and in a financial tool, a wrong number that looks right is far more dangerous than an obviously broken one. Every calculation in Auris (ROI, Sharpe ratio, VaR, DCF, Monte Carlo, tax P&L…) runs through a pure Go calculation engine (pkg/finance) with strictly validated inputs. The model's job is to decide what to compute and fetch the right data for it; the code's job is to compute it correctly, every time. See Architecture & Design Decisions for how tool calls are chained together, and AI Disclaimer & Responsible Use for what this guarantee does and doesn't cover.

I got a "subscription required" error from EODHD — what does that mean?

EODHD's free tier returns HTTP 403 ("Only EOD data allowed for free users") for /fundamentals and /intraday endpoints specifically — it's a plan restriction, not an authentication failure. Auris surfaces this as market.ErrSubscriptionRequired. If EODHD is your secondary/fallback provider (the recommended setup), this usually just means the fallback provider can't cover that particular request either — check whether your primary (FMP) can answer it instead.

I got a rate-limit error — what happens?

It depends on which provider hits the limit. Auris chains market providers (FMP primary, EODHD secondary — see Architecture & Design Decisions) and falls through to the next provider automatically on ErrRateLimit, ErrNotFound, ErrNotSupported, or ErrSubscriptionRequired. If the primary hits a rate limit, the secondary picks up the request transparently. If both are exhausted, you'll see the primary's error surfaced back to you — EODHD's free tier in particular is a scarce resource (roughly 20 calls/day once the one-time welcome allowance is used up), so it's expected to run dry faster than FMP's.

Can I use Auris without any API keys at all?

Yes — choose simulation mode in the setup wizard's data-mode step (or toggle it later from the menu, /simulation). It uses a fully synthetic market data and news generator, requires zero signups, and every feature in Using the Agent works against it. It's the fastest way to try the whole app, including portfolio management, before deciding whether to connect real providers. Turning simulation mode off later restores whatever real providers you'd already configured — they're never deleted, just unused while the flag is on.

How do I switch LLM provider or model, or redo setup?

Run auris -setup to force the setup wizard to run again even though a config already exists. You can also manage AI providers and the default model from the in-app menu without a full setup redo.

What happens if I forget my passphrase?

There is no recovery path — by design. Your API keys (always) and, if storage encryption is enabled, your portfolios and chat sessions are encrypted with a key derived from your passphrase via Argon2id; there's no backdoor or reset mechanism, because a backdoor would defeat the point of the encryption in the first place (see Security & Privacy). If you've genuinely lost your passphrase, the only way forward is to delete your config directory and run auris -setup again, which starts fresh and loses whatever was encrypted under the old passphrase. Keep your passphrase somewhere durable — a password manager, not a sticky note.

Where does Auris store its data?

Platform Config file
Linux ~/.config/auris/auris.json
macOS ~/Library/Application Support/auris/auris.json

Chat sessions live in a sessions/ subdirectory next to the config file. Portfolios have their own directory. API keys are always encrypted; portfolios/sessions are additionally encrypted when storage encryption is on (the default for new setups).

What's the -debug flag for?

auris -debug <path> appends per-iteration agent diagnostics (which tools were called, with what arguments, and what came back) to the file you specify. It's off by default for privacy — your tool-call history isn't logged anywhere unless you explicitly ask for it. Useful when a response looks wrong and you want to see exactly which tool calls produced it.

Why did the agent stop partway through instead of finishing?

Each message gives the agent up to 10 tool-calling rounds (maxLoopIterations) before the ReAct loop gives up and returns whatever it has. This is normally far more than a real question needs — if you're hitting it regularly, try breaking a very compound request ("analyse these 5 stocks, build me a diversified portfolio, and run a 10-year Monte Carlo on each") into a couple of smaller messages instead.

How do I report a bug or request a feature?

Open an issue on the repository. See Contributing if you'd like to submit a fix yourself.

Is there a public roadmap?

Yes — Roadmap & Future Work tracks what's shipped versus what's genuinely still planned.

Clone this wiki locally