Skip to main content

takopi-cron

cron command plugin for takopi. run a prompt on an interval and post results back into your chat.

This is intentionally simple:

  • It runs in-process inside Takopi (so Takopi must be running).
  • It does not survive restarts (you re-run /cron start after restart).

requirements

uv for installation (curl -LsSf https://astral.sh/uv/install.sh | sh)

python 3.14+ (uv python install 3.14)

takopi installed

install

recommended (installs the plugin into takopi's uv tool environment):

uv tool install -U takopi --with takopi-cron

if you installed takopi via pip (or you're running takopi from a project venv), install the plugin into the same environment:

pip install -U takopi-cron

enable it:

[plugins]
enabled = ["takopi-cron"]

usage

Start a job (runs once immediately, then repeats):

/cron start 6 Write a summary of today's PRs and what I should review next.

Stop the job for the current chat/thread:

/cron stop

Status:

/cron status

List all running cron jobs:

/cron list

Run once (no scheduling):

/cron run What changed since yesterday?

Seed presets (configured in takopi.toml):

/cron seed list
/cron seed start daily_summary
/cron start seed

Seed presets start in the chat/thread where you run the command. /cron start seed starts every seed preset at once in that chat/thread.

If you start multiple seed jobs in one chat/thread, /cron stop stops all of them for that chat/thread.

Tips:

  • Put an engine directive at the start of the prompt, e.g. /claude ...
  • Put a project directive at the start of the prompt, e.g. /myproj ...
  • Put a branch directive at the start of the prompt, e.g. @feat/foo ...

breaking changes

Breaking changes in 0.1.0:

  • plugins.cron.seed[].prompt was removed
  • plugins.cron.seed[].prompt_file is now required
  • prompt_file is resolved relative to the directory containing takopi.toml
  • /cron stop now stops all cron jobs running in the current chat/thread, not just one
  • /cron start seed now starts every configured seed preset in the current chat/thread

Migration example:

Before:

[[plugins.cron.seed]]
id = "daily_summary"
every_hours = 6
prompt = "/codex summarize what changed since the last cron tick"

After:

[[plugins.cron.seed]]
id = "daily_summary"
every_hours = 6
prompt_file = "cron-prompts/daily_summary.prompt.md"

config

In ~/.takopi/takopi.toml:

[plugins.cron]
# Optional: restrict who can control cron jobs
allowed_user_ids = [12345678]

# Optional: whether cron ticks should notify (default: true)
notify = true

# Optional: seed presets. prompts live in separate files so takopi.toml stays
# smaller, but the schedule metadata stays here.
[[plugins.cron.seed]]
id = "daily_summary"
every_hours = 6
prompt_file = "cron-prompts/daily_summary.prompt.md"
# notify = true            # optional override
# enabled = false          # optional

prompt_file is resolved relative to the directory containing takopi.toml, so this layout works:

~/.takopi/
  takopi.toml
  cron-prompts/
    daily_summary.prompt.md

~/.takopi/cron-prompts/daily_summary.prompt.md

/codex summarize what changed since the last cron tick

Metadata

Release files for takopi-cron 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for takopi-cron 0.1.0
File Size Uploaded
takopi_cron-0.1.0.tar.gz 7.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for takopi-cron 0.1.0
File Interpreter ABI Platform
takopi_cron-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 16.5 kB

Release files / takopi_cron-0.1.0.tar.gz

Download URL takopi_cron-0.1.0.tar.gz
Size 7.8 kB
Tags Source
SHA-256 checksum
How to use checksums
a80e41cce88b9e76de768ce51560e53ff7e499253777fb3eec2e92ca1317e09b
BLAKE2b-256 checksum
How to use checksums
f9f696a07b162600325f4cd770befdd734cbb126821a7c077cd59c57077c9aa8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release files / takopi_cron-0.1.0-py3-none-any.whl

Download URL takopi_cron-0.1.0-py3-none-any.whl
Size 8.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d21297028d9cbdd29b5455d0477e543119d46bce990893bc1fcdc9f75db2dc3
BLAKE2b-256 checksum
How to use checksums
0b892acbdb8e142bdccba99cad8ecca0b3acd66bca3fb18baddd5baf336b013c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 22, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page