iCloud Reminders
Access and manage Apple iCloud Reminders via CloudKit API. Full CRUD with hierarchical subtask support.
Pure Go — no Python or pyicloud required. Authentication, 2FA, session management and CloudKit API calls are all implemented natively in Go.
Installation
Homebrew (Recommended)
CODEBLOCK0
Upgrade to the latest version:
CODEBLOCK1
Setup
- 1. Authenticate (interactive — required on first run):
CODEBLOCK2
Credentials are resolved in this order:
1. ICLOUD_USERNAME / ICLOUD_PASSWORD environment variables
2. ~/.config/icloud-reminders/credentials file (export KEY=value format)
3. Interactive prompt (fallback)
- 2. Session file (
~/.config/icloud-reminders/session.json) is created automatically and reused. Run reminders auth again when the session expires.
Commands
CODEBLOCK3
Troubleshooting
| Issue | Solution |
|---|
| "not authenticated" | Run INLINECODE5 |
| "invalid Apple ID or password" |
Check credentials file |
| "2FA failed" | Re-run
auth, enter a fresh code |
| "Missing change tag" | Run
reminders sync |
| "List not found" | Check name with
reminders lists |
| Binary not found | Run
bash scripts/build.sh or check your PATH |
iCloud Reminders
通过CloudKit API访问和管理Apple iCloud提醒事项。支持完整CRUD操作及层级子任务。
纯Go实现——无需Python或pyicloud。 身份验证、双重认证、会话管理和CloudKit API调用均使用Go原生实现。
安装
Homebrew(推荐)
bash
brew tap tarekbecker/tap
brew install icloud-reminders
升级到最新版本:
bash
brew upgrade icloud-reminders
设置
- 1. 身份验证(交互式——首次运行必需):
bash
reminders auth
凭据按以下顺序解析:
1. ICLOUDUSERNAME / ICLOUDPASSWORD 环境变量
2. ~/.config/icloud-reminders/credentials 文件(export KEY=value 格式)
3. 交互式提示(备用方案)
- 2. 会话文件(~/.config/icloud-reminders/session.json)会自动创建并重复使用。会话过期时,重新运行 reminders auth。
命令
bash
首次设置/强制重新认证
reminders auth
reminders auth --force
列出所有活跃提醒事项(层级结构)
reminders list
按列表名称筛选
reminders list -l 🛒 购物清单
包含已完成事项
reminders list --all # 或:-a
仅显示父提醒的子项(按名称或短ID)
reminders list --parent 超市
reminders list --parent ABC123DE
按标题搜索
reminders search 牛奶
搜索包含已完成事项
reminders search 牛奶 --all # 或:-a
显示所有列表(含活跃计数和短ID)
reminders lists
添加提醒事项(-l 为必需参数)
reminders add 买牛奶 -l 购物清单
添加带截止日期和优先级
reminders add 给妈妈打电话 -l 购物清单 --due 2026-02-25 --priority high
添加带备注
reminders add 买牛奶 -l 购物清单 --notes 买有机2%的
添加为子任务(即使是子任务,-l 也是必需参数)
reminders add 黄油 -l 🛒 购物清单 --parent ABC123DE
批量添加(-l 为必需参数)
reminders add-batch 黄油 奶酪 牛奶 -l 购物清单
批量添加为子任务
reminders add-batch 黄油 奶酪 -l 购物清单 --parent ABC123DE
编辑提醒事项(更新标题、截止日期、备注或优先级)
reminders edit abc123 --title 新标题
reminders edit abc123 --due 2026-03-01 --priority high
reminders edit abc123 --notes 已更新备注
reminders edit abc123 --priority none
完成提醒事项
reminders complete abc123
删除提醒事项
reminders delete abc123
导出为JSON
reminders json
强制完全重新同步
reminders sync
导出会话Cookie(无需密码即可共享)
reminders export-session session.tar.gz
从导出文件导入会话
reminders import-session session.tar.gz
详细输出(任意命令)
reminders list -v
故障排除
| 问题 | 解决方案 |
|---|
| 未认证 | 运行 reminders auth |
| Apple ID或密码无效 |
检查凭据文件 |
| 双重认证失败 | 重新运行 auth,输入新验证码 |
| 缺少变更标签 | 运行 reminders sync |
| 未找到列表 | 使用 reminders lists 检查名称 |
| 找不到二进制文件 | 运行 bash scripts/build.sh 或检查PATH路径 |