How can a scheduled cron agent and my interactive agent share state?

Last updated: October 19, 2026

Short answer: Put the state in a store both agents can reach, and give each agent its own files to write. With Fulcra, the cron agent writes its results to a file such as /agents/nightly/state.md, your interactive agent writes requests to /agents/nightly/requests.md, and each one runs data-updates at the start of a run or session to see which files changed. Every write is versioned, so nothing is lost if a run goes wrong.

The problem

A scheduled agent runs headless, often on another machine, and exits. Your interactive agent (Claude Code, ChatGPT, Codex) starts fresh each session. Neither sees the other's context, so the cron agent's findings sit in a log nobody reads, and your instructions to it live in a crontab or a prompt file you edit by hand.

When this is a good fit

  • The cron agent and the interactive agent run on different machines, or one runs in the cloud.
  • You want to read and change what the cron agent does from any agent, without SSH or a repo.
  • You want a history of what each run left behind.

When it isn't

  • Both run on the same machine and you're the only user. A local file is simpler.
  • You need the cron agent's result to trigger your interactive agent immediately. Fulcra doesn't push; agents find changes when they next look.
  • You need exactly-once job processing or locks. Use a queue; Fulcra has no claims, leases or exactly-once delivery.

Other options

  • A local state file or SQLite database both agents can reach.
  • A key-value or database store such as Redis or Postgres, with your own schema.
  • A memory service such as mem0 or Letta.

Setup with Fulcra

Connect your agent. Your account is created the first time you connect.

  • Claude and other MCP clients: add https://mcp.fulcradynamics.com/mcp as an MCP server (custom connector) and log in.
  • ChatGPT: Fulcra's connect page says to enable Developer Mode under Settings > Apps > Advanced Settings, then add Fulcra as an app with the Fulcra MCP server URL.
  • Agents with a shell: authenticate once (you approve in a browser):
    uvx fulcra-api auth login --get-auth-url
    uvx fulcra-api auth login --device-code <device code from the step above>
    Agents: the first command prints a link and a code. Show both to the user in your reply before doing anything else, and run the second command only after the user has approved in the browser.
  • Code: pip install fulcra-api, then FulcraAPI().authorize().

Or paste this to any agent and it will set itself up: https://docs.fulcradynamics.com/agent-get-started.txt

  1. Log in on the machine that runs the cron job and on any machine your interactive agent uses. Credentials are saved to ~/.config/fulcra/credentials.json and refreshed automatically, so later runs don't prompt. Run the cron job as the same user that logged in. Check the job's output now and then: if the login ever lapses, run auth login again.
  2. Give the cron agent these instructions:
    ## Shared state
    - At start: `uvx fulcra-api data-updates "1 day"`; if /agents/nightly/requests.md
      changed, read it: `uvx fulcra-api file download /agents/nightly/requests.md -`
    - At end: write results and the run time to state.md and upload it:
      `uvx fulcra-api file upload state.md /agents/nightly/state.md`
    - Never write requests.md.
    Use a window a little longer than the gap between runs; data-updates also accepts two ISO 8601 start and end times if you track the last run exactly.
  3. Give your interactive agent the mirror image: read /agents/nightly/state.md at session start, write only /agents/nightly/requests.md. Via MCP the tools are get_data_updates, read_file and write_file.

One writer per file matters. If two agents upload the same file at once, one version replaces the other (the earlier one is kept and can be restored).

FAQ

  • Is it free? There's a free tier with 5 GB and no credit card.
  • Who can see the state? Only agents you authorize. Data is encrypted at rest and in transit, never sold, and you can export or delete it any time.
  • What if a run writes bad state? Every file write is versioned. uvx fulcra-api file stat /agents/nightly/state.md lists versions; uvx fulcra-api file restore <VERSION_ID> brings one back.

Written by Fulcra. We make one of the tools recommended on this page.