UseDocumentation Index
Fetch the complete documentation index at: https://docs.archal.ai/llms.txt
Use this file to discover all available pages before exploring further.
archal twin when you want hosted twins to stay alive outside the normal archal run lifecycle.
This is the right workflow for:
- manual debugging against a stable GitHub, Jira, Slack, Stripe, or Supabase twin
- prompt iteration when you want to retry the same state repeatedly
- local integration work where your own tools need fixed hosted endpoints
- attaching an existing app to a service twin before you build a scored scenario around it
Start twins
- start everything with
archal twin start --all - preload named seeds with
archal twin start github --seed github:rich-org - describe desired state with
archal twin start github --setup "org with repos and CI" - request a longer lifetime with
archal twin start github --ttl-seconds 7200
Inspect and manage them
statusshows the active local session and its twin endpointslistshows all active hosted twin sessions for the current userrenewextends the active session lifetimestoptears the active session down
Use the returned URLs
archal twin start prints API base URLs for each twin. Use those URLs in your own local tools or SDK clients.
For example, for GitHub:
archal twin: you get a persistent hosted twin session that your own tooling can keep talking to between runs.
If you are sending raw HTTP from curl, a Lambda, or an edge worker instead of
using the CLI or runtime helpers, follow the auth shape in Direct API access.
If your app needs route-mode interception instead of explicit base URLs, combine archal twin with the route-mode environment and proxy flow described in the route-mode trust guide. archal twin keeps the twin alive; it does not execute your app or score the result.
Inner loop: reuse a twin session across many runs
When you’re iterating on a prompt or scenario and don’t want to pay the ~30-second cold-start on every run, start a session once and point each run at it with--reuse-session:
--reuse-session skips provisioning and never tears the session down at the
end of the run. Two related flags control seeding on a reused session:
--keep-state(alias--no-reseed): skip the scenario’s named-seed re-apply. Use this after sideloading state viaarchal twin seed --fileso your custom state is preserved between runs.--fresh-seed: force the scenario’s declared seed to be re-applied, wiping any existing twin state first. Opposite of--keep-state.
--fresh-seed and --keep-state are mutually exclusive — pass one or the
other, never both. Default behavior (neither flag) re-applies the scenario’s
named seed on every run.
Seed and reset them
--file when you need custom state for a specific integration test or debugging session.
When not to use this flow
- Use
archal run --harnesswhen you want Archal to execute an agent against hosted twins and score the result with a scenario. - Use
archal/vitestwhen you want hosted twins inside a Vitest workspace. - Use
archal scenario listwhen you want to browse runnable scenarios before starting a hosted twin session.
Trust and cleanup
archal twin itself is just the hosted session lifecycle. If you later attach a local app through route mode:
- Archal does not install a host OS trust root by default.
- local route mode injects trust into the app process with env vars such as
NODE_EXTRA_CA_CERTS,SSL_CERT_FILE,REQUESTS_CA_BUNDLE, andCURL_CA_BUNDLE - the local CA is generated per run and cleaned up at teardown
- only configured twin domains are rerouted
