calsync docs

Troubleshooting

Start with Preview changes. It shows what calsync sees and what it plans, and changes nothing. From the command line, use calsync run --dry-run. In Docker, docker compose logs calsync shows what it has done.

Google

I get signed out every week
Your app is in Testing mode. Open Google Auth Platform, then Audience, and click Publish app. Then sign in again.
Google says it has not verified the app
That is expected. The app is yours. Click Advanced, then Go to your app name, then Allow.
After I allow it, the browser shows a page that won't load
That happens when calsync runs on another machine. Copy that page's whole address and paste it into the box on the calsync sign-in page.
An error says the Calendar API is disabled
Enable Google Calendar API in the same project as your sign-in app.
Sign-in fails with a client error
Check that the client type is Desktop app, and that the client ID and secret were pasted whole.

Microsoft

The sign-in says it needs admin approval, or blocks the app
Your tenant blocks outside apps. Use a published .ics link as a read-only source.
An error mentions a public client
Open the app's Authentication page and set Allow public client flows to Yes.
The device code expired
Run the sign-in again and enter the new code within a few minutes.
Permissions errors
Check that the Microsoft Graph delegated permissions Calendars.ReadWrite and offline_access are both on the app.

A run stopped

It says it would delete N of M copies and skipped
That is the safety stop. A run would have deleted more than half of a calendar's copies. Check what changed: a removed or renamed calendar, a new "Don't copy" switch, a source that came back empty. Run a preview. If the delete is what you want, run calsync run --force.
One calendar was not synced
It failed to load, so calsync left it alone and deleted nothing because of it. Check the sign-in and the network. It tries again next run.

Events missing or odd

Install problems

The page at localhost:8484 will not open
Run docker compose ps to see if it is up, and docker compose logs calsync to see why not. Another program may be using port 8484. You can change the port with CALSYNC_PORT.
I lost the setup code
Run docker compose logs calsync and look for the first-time setup code. It changes each time calsync starts until you choose a password, so use the newest one.
The page says "Too many tries"
Too many wrong passwords or setup codes came in the last minute, from you or from someone else. Wait a minute. If it keeps happening, someone else can reach the page: move it off the open internet.
The page says "This host name isn't allowed"
You are reaching it by a name it does not know. Add the name to CALSYNC_HOSTS.
The timer runs but nothing happens
Cron has a smaller environment than your shell. Use the full path to calsync, set CALSYNC_HOME on the cron line if you changed it, and log the output to a file.

Still stuck? Open an issue on GitHub. Leave out your client secret and tokens.