Scheduled Agents
A scheduled agent is a recurring AI task you define once and GitBlixt runs unattended on a schedule. Each run uses the same Claude Code pipeline as Fix with AI: the agent reads your repository, makes changes, and opens a merge request with the result. By default a scheduled agent never merges anything — a human reviews the diff before it lands. Opting an agent into auto-merge lets its work land once GitBlixt has verified it.
Typical uses: keeping dependencies or data tables current, applying a routine refactor, re-running a checklist against the codebase, or any task you would otherwise have to remember to do by hand every week or quarter.
How it works
- You create an agent in a repository's settings with a name, a cron schedule, a prompt, and a provider/model.
- Every 5 minutes GitBlixt checks for agents that are due, and queues a run for each one.
- The run executes Claude Code in an isolated Docker container against a fresh clone of the repository, branching off the agent's target branch.
- The agent runs your test suite and writes a merge request description that summarizes what changed and cites any external sources it used.
-
If the agent made changes, GitBlixt opens a merge request (labeled
ai-generated) for review. If nothing needed changing, no merge request is created and the run is recorded as "no changes".
Runs share the same per-repository concurrency and rate limits as other AI jobs. Each run appears in the agent's history with a link to its job log and resulting merge request.
Creating an agent
-
Go to your repository's Settings
page and open Scheduled Agents
(or visit
/<namespace>/<repo>/-/settings/agents). -
Click New agent
and fill in:
- Name — a label for the agent (e.g. "Update tax tables").
-
Schedule (cron) — a standard 5-field cron expression
(
minute hour day month weekday). The form previews the next run time as you type. For example,0 9 1 * *runs at 09:00 on the 1st of every month. - Prompt — the task instructions. Be specific about what to change and where; the agent starts with no context beyond the repository and this prompt.
- Provider / Model / Effort — which AI provider and model to use, and optionally how much reasoning effort the model should spend. The provider list is drawn from the keys you have configured in your account Settings; the effort levels offered depend on the model.
- Target branch (optional) — the branch to start from. Defaults to the repository's default branch.
- Timeout (minutes) (optional) — how long each run may take, up to 480. Defaults to the instance's AI job timeout.
- Auto-merge when verified — see Auto-merge.
- Enabled — uncheck to pause the agent without deleting it.
- Save. The agent runs at its next scheduled time.
Use Run now on any agent to trigger a run immediately — handy for testing your prompt without waiting for the schedule.
Credentials
A scheduled run isn't tied to an interactive session, so it authenticates with the provider key of the user who created the agent. Usage is billed to that user's provider account, exactly as if they had run the job themselves.
If the creator's provider key is removed (or their account is deleted), GitBlixt automatically disables the agent and notifies the creator rather than failing silently. Re-add a key and re-enable the agent to resume.
Web access
Scheduled agents can fetch live external sources. In addition to reading and editing code,
Claude Code has the WebFetch and WebSearch tools available, so an
agent can consult primary sources (documentation, official data, release notes) and cite them
in the merge request it opens.
Permissions
- Only a repository's owner (or, for organization repositories, an organization owner) can view, create, edit, run, or delete scheduled agents.
- Agents are scoped to a single repository — they only ever read and change that one repo.
The review gate
Unless auto-merge is enabled, a scheduled agent only ever opens a merge request, so every change it makes passes through your normal review process. To add stronger guardrails, configure your repository's approval rules, branch rules, and protected branches — an agent's merge request then requires the same approvals and passing CI as any human-authored one. See AI Assistant for details.
Auto-merge
With Auto-merge when verified enabled, GitBlixt merges the agent's merge request itself — but only when every gate holds for its exact final commit:
-
A verify pipeline
GitBlixt runs on a fresh checkout passes. Its checks are fixed by GitBlixt, not read from
the repository's CI config: for Elixir, compiling with warnings as errors, the format check,
unused-dependency check, and the test suite; for Expo,
expo install --check,expo-doctor, type checking, lint, tests, export, and prebuild. It runs on the toolchain the repository's.tool-versionspins. - Every other pipeline on that commit (your own CI) passes.
- An AI review, told that its approval merges, ends with an explicit approval of that exact commit.
- Your branch rules, approval rules, and protected branches allow the merge.
The merge is pinned to the verified commit: anything pushed after verification is never merged automatically. If a gate fails, GitBlixt comments on the merge request with the reason and notifies you, and the merge request waits for a human. While it stays open, the agent skips that repository on later runs instead of opening a duplicate. Repositories GitBlixt can't verify (anything other than Elixir and Expo) are always left for you to merge.
Global agents
A global agent is defined once, under AI → Agents, and targets multiple repositories you own instead of just one. Each scheduled run queues one AI job per target repository, running on that repository's default branch. A failure on one repository skips only that repository — the others still run. If the agent's API key goes missing or its model becomes invalid, GitBlixt disables the agent and notifies you, the same as it does for a per-repository agent.
Skills
A skill is a reusable instruction document, managed under AI → Skills, that gets injected into every AI job — scheduled agents, issue fixes, MR reviews, and freeform runs alike. Reference a skill from an agent's prompt by name (e.g. "using the security-audit skill") to have it followed on that run.
Import a skill from any public SKILL.md
URL, or start from the built-in library. Repositories can also commit their own
.claude/skills/
directory; when a repo skill and an account skill share a name, the repo skill wins.
Subagents
A subagent is a specialist the AI can delegate to mid-job, managed under AI → Subagents. Each has its own instructions, an optional tool allowlist, an optional model and effort level, and runs in its own context, so work like running the test suite or verifying review findings doesn't flood the main job. The AI delegates when a subagent's description fits the task.
Start from the built-in library or write your own. Subagents work with every provider: Claude
Code jobs read them from .claude/agents/, and opencode jobs from .opencode/agents/, where they inherit the job's model and effort. A subagent a repository
already commits under the same name takes precedence over yours.