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.
- 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.ReadWriteandoffline_accessare 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
- Only the next 120 days are synced. Events that already ended are ignored.
- Declined and cancelled events are skipped.
- An event already on a calendar through a shared invite is not copied there again.
- A calendar set to "Never write to this calendar" never receives copies.
- "Don't copy X here" keeps one calendar's events off another.
- A published .ics feed can lag behind the calendar it comes from.
Install problems
- The page at localhost:8484 will not open
- Run
docker compose psto see if it is up, anddocker compose logs calsyncto see why not. Another program may be using port 8484. You can change the port withCALSYNC_PORT. - I lost the setup code
- Run
docker compose logs calsyncand 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, setCALSYNC_HOMEon 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.