In short
Cronitor is the bigger tool, and its Business plan adds teams with roles, SMS and on-call tools. Its agent support goes further too, with 71 MCP tools and a plugin for Claude Code and Codex. Sereno only watches scheduled jobs, and does it free for up to 200 of them.
Choose Cronitor if you also need website or API checks, a status page, alerts in Slack, by SMS or through on-call tools, or a team with roles. Choose Sereno if you have more than 5 jobs to watch for free, or you want to choose what each AI agent connection may change.
Where Cronitor is stronger
- Website and API checks alongside cron jobs and heartbeats, on every plan. cronitor.io/pricing
- Status pages, with one basic page on the free plan. cronitor.io/pricing
- Alerts by SMS and through on-call tools like PagerDuty, Datadog On-Call, OpsGenie and Splunk On-Call, on its Business plan. cronitor.io/pricing
- Alerts in Slack, Microsoft Teams, Discord, Google Chat and Telegram, or to any webhook. cronitor.io/docs/alerts
- Teams with admin, user and read-only roles, and SAML single sign-on, on its Business plan. cronitor.io/pricing
- SDKs in 8 languages, and integrations for Kubernetes, Sidekiq, Celery, Airflow, GitHub Actions and Laravel. cronitor.io/docs/sdks
- Alerts when a job runs too long or ends too quickly. cronitor.io/docs/cron-job-monitoring
- A bigger MCP server, whose 71 tools also manage status pages, integrations and metrics. cronitor.io/docs/mcp-server
- A plugin for Claude Code and Codex, and agent onboarding that confirms each monitor with a real event. cronitor.io/docs/agent-quickstart
- 12 months of history on its Business plan. cronitor.io/pricing
Where Sereno is stronger
- Sereno gives you 200 checks free. Cronitor's free plan has 5 monitors, and its Business plan is $2 a month per monitor, plus $5 a month for each user. cronitor.io/pricing
- You choose what each agent connection may do, on the Allow page and later in Settings → Agent access. “Silence, pause or loosen alerts” is a permission of its own: without it, an agent can tighten a check but not loosen it. Cronitor's docs say its agent sign-in “does not carry a scope selection: every MCP request receives exactly the permissions allowed by that user's current Cronitor role”. cronitor.io/docs/mcp-server
- Sereno hides the passwords and keys it recognizes in job output. Before it saves a report, sends an alert or shows a report to your agent, it replaces them with [hidden]. This is a best-effort safety net. Cronitor's MCP docs say captured command output “can contain customer data or secrets”, and ask agents to “request expanded fields only when they are needed and the human has approved that access.” cronitor.io/docs/mcp-server
Who Sereno is for
Sereno is for people who build with an AI agent like Claude Code or Cursor, and have scheduled jobs on a server, Vercel, GitHub Actions or Supabase. It's the wrong pick if you need alerts in Slack, Discord or by text message, website checks, a status page or shared access for a team.
Side by side
| Cronitor | Sereno | |
|---|---|---|
| Free plan | 5 monitors, shared by jobs, checks and heartbeats, and 1 dashboard user.cronitor.io/pricing | Up to 200 checks, 50 alert emails a day, and phone alerts through ntfy.asksereno.com/docs#limits |
| Paid plans | Business is $2 a month per monitor plus $5 a month for each user, with no minimums.cronitor.io/pricing | Sereno is free, and comes as is, with no guarantee.asksereno.com/terms |
| What it watches | Cron jobs, heartbeats, websites and APIs, on every plan.cronitor.io/pricing | Scheduled jobs on a server, Vercel, GitHub Actions, Supabase, or anywhere that can send a web request.asksereno.com/docs#recipes |
| Alerts | Email and chat alerts (Slack, Discord, Teams, webhooks) on every plan. SMS and on-call tools such as PagerDuty on its Business plan.cronitor.io/pricing | Email, and push notifications on your phone through the free ntfy app.asksereno.com |
| How a job reports | A web request to its ping URL with a state of run, complete or fail, the exit code as status_code, and a message of up to 2,000 characters.cronitor.io/docs/telemetry-api | A web request to the check's report address, ending in /ok, /start, /fail, an exit code or /test. No ending means ok. GET, HEAD and POST all work.asksereno.com/docs#reports |
| Job output | Its command-line tool sends the job's output, and the command itself, by default.cronitor.io/docs/using-cronitor-cli | The last 2 KB of each report, with passwords and keys it recognizes hidden first.asksereno.com/docs#secrets |
| Run time | Alerts when a job runs too long or ends too quickly.cronitor.io/docs/cron-job-monitoring | A grace period for late runs, and a separate maximum run time.asksereno.com/docs#limits |
| AI agents | A hosted MCP server with 71 tools, which agents sign in to.cronitor.io/docs/mcp-server | A hosted MCP server. You connect Claude Code, claude.ai, ChatGPT, Cursor or VS Code by signing in, with no key to copy.asksereno.com/docs#agents |
| What an agent may change | It depends on the signed-in person's role. Its docs say each request gets “exactly the permissions allowed by that user's current Cronitor role”.cronitor.io/docs/mcp-server | You choose for each connection. Silencing, pausing or loosening alerts is a permission of its own.asksereno.com/docs#api |
| History kept | 12 months on its Business plan. Not stated for the free Hacker plan (as of October 26, 2026).cronitor.io/pricing | 90 days of runs and alerts.asksereno.com/privacy |
| Teams | 1 user free. Admin, user and read-only roles, and SAML single sign-on, on its Business plan.cronitor.io/pricing | One person per account. |
| Status pages | 1 basic status page free. Branded ones cost $25 a month each.cronitor.io/pricing | Not included.asksereno.com |
Cronitor's side comes from its own pages, linked in each row and read on October 26, 2026. Sereno's side comes from its own code, checked on October 26, 2026. Each of its rows links the page here that says so, where there is one. Sereno's docs have the details. If something here is wrong or out of date, write to [email protected].
Moving a job from Cronitor
- Make a check in Sereno for each job first, with New check on your dashboard and the same schedule, time zone and grace. Sereno makes the check's slug, the last part of its report address, from its name, unless you type one. Sereno doesn't make a check from a report the way Cronitor does for a monitor key it doesn't know, so a report to a check that doesn't exist yet gets a 404. If the job also reports when it starts (with
?state=run, or through Sereno's alerts-run), open More options in New check and set Max run time to more than the job's longest run, up to 2 days. It's 1 hour unless you change it, and a run still going after that counts as failed. cronitor.io/docs/telemetry-api - Swap the job's report line for Sereno's, which the check's page in Sereno shows with your address filled in. To change a line you wrote yourself, this is what each part of Cronitor's ping becomes. PROJECT_KEY and CHECK_SLUG stand for your project's key and your check's slug.cronitor.io/docs/telemetry-api
Cronitor Sereno https://cronitor.link/p/API_KEY/MONITOR_KEYhttps://asksereno.com/k/PROJECT_KEY/CHECK_SLUG?state=run/start?state=complete/ok, or no ending?state=fail/failstatus_code=NThe exit code as the ending: /0for a run that worked,/1to/255for one that failedseries=ID?rid=IDA message in the URL The request's body, sent as a POST - A job that runs through
cronitor execcan run through alerts-run instead, Sereno's wrapper, which also reports the start and the job's last lines of output. The crontab guide below shows how to install it. cronitor.io/docs/using-cronitor-cli - A job that reports through one of Cronitor's SDKs or integrations has no ping URL to swap. Give it a report line from the setup guides below instead. cronitor.io/docs/sdks
- Send a test report from the server where the job runs, or from your own computer for a job on Vercel, GitHub Actions or Supabase. It prints
OK, and on the check's page in Sereno, Test report gets a tick. A test report never changes the check's status.curl -fsS -m 10 https://asksereno.com/k/PROJECT_KEY/CHECK_SLUG/test
curl -fsS -m 10 https://asksereno.com/k/PROJECT_KEY/CHECK_SLUG/test - Once the job's first real run shows in Sereno, remove its monitor in Cronitor, so one failure doesn't alert you twice.
Sereno's setup guides cover crontab jobs and alerts-run, Vercel cron jobs, GitHub Actions schedules and Supabase cron jobs. Your AI agent can also make the checks and swap the lines for you.
More guides
- Ask your AI agent why a cron job failed
- Monitor Vercel cron jobs
- Monitor GitHub Actions scheduled workflows
- Monitor Supabase cron jobs that call Edge Functions
- Get an alert when a cron job fails or doesn't run
- Healthchecks.io alternative with AI agent setup
New here? Sign up with your email. Free: up to 200 checks, 50 alert emails a day, and phone alerts through ntfy.