# Calendar

Day, week, and month views, keyboard navigation, and shareable calendar links.

import { Aside } from '@astrojs/starlight/components';

The calendar at `/calendar` shows every task with a due date across your boards. Filter which boards and people are included from the boards panel, and save any combination as a reusable view.

<Aside type="tip">

You can enshrine your preferred weekday start and weekend visibility by saving a preset, or rely on the default behavior for a fresh calendar.

</Aside>

## Default behavior

When you open a calendar without a saved preference:

- **Week starts on Monday** (Day and Week views show Monday through Friday; weekends are not shown). If you prefer Sunday as the starting day or want to show weekend rows, change your preference in Settings.
- **Weekend days are hidden in Week view** (you still see Monday through Friday). If you prefer to see the full week including Saturday and Sunday, adjust your preference in Settings.

To change your default weekday start or weekend visibility, go to Settings and set your preferred options. Controls are surfaced via <kbd>Ctrl+K</kbd> commands (if configured).

## Managing calendar views

Default views include Day, Week, Month, My Tasks, Overdue, Blocked, and Agents. All default views are ordinary orderable views: you can drag them anywhere in the view cluster, including up to an earlier row. You can also show each default view in Manage views (drag + hide) and reorder it alongside saved custom views.

From **Manage calendar views**, you can rename any calendar view that you own. Owned views show a settings affordance that lets you edit the name. Teammate-owned views are locked and cannot be renamed. The modal includes a clear close/back control for safe, deliberate switching between saved and owned views.

## Views

Switch views from the dropdown at the top left (or press <kbd>W</kbd> for week, <kbd>M</kbd> for month):

- **Day**: full-width table layout with tasks as rows. Use <kbd>Shift</kbd> + <kbd>D</kbd> to switch to day view. On desktop, Day view now includes a weekday-selector strip above the calendar. To jump to a specific weekday, click any weekday label in the strip. Keyboards actions <kbd>U</kbd> and <kbd>I</kbd> move to previous/next day; <kbd>T</kbd> jumps to today; <kbd>Tab</kbd> and <kbd>Shift</kbd>+<kbd>Tab</kbd> move focus; <kbd>Shift</kbd>+arrows reschedule the focused task.
- **Week**: five columns with hidden weekends (by default), or seven columns if you show weekends.
- **Month**: the classic grid.

## Shareable links

The calendar URL always encodes what you are looking at:

```
https://app.hypertask.ai/calendar?view=day&date=2026-07-31
```

- `view` is `day`, `week`, or `month`.
- `date` is the anchor day in `YYYY-MM-DD`.

Copy a link at any time to share exactly the same view and date. Open a shared link to land on that day's specific view, regardless of the recipient's own last-used calendar state. Links with invalid dates fall back to the recipient's own calendar.

For agents: construct these URLs directly when pointing a person at a specific day or week, e.g. `https://app.hypertask.ai/calendar?view=week&date=2026-08-03`.

## Week strip month expander

In the Week view, a month expander lets you quickly jump to any month. When you change days or weeks using arrows or navigation controls, the picker now stays in sync with your current view instead of remembering the month it opened with.

## Rendering reliability

The calendar renders reliably in production even when a persisted user state is null. Server-side identity-dependent calendar filters use the validated account ID passed from the server boundary, preventing SSR crashes on boards with missing user configurations.

## Legacy image support

If your board has historical images stored with an old S3 host configuration, the calendar no longer crashes when loading those images. Hypertask now accepts legacy bucket hosts in `next.config` remotePatterns, so old images load without bringing down the entire page. Requesting an official image migration, which will rewrite stored URLs to `files.hypertask.app`, remains a separate data cleanup effort. The calendar now works smoothly even when some images are still on an old host.

## Blocked tasks

Blocked tasks now stand out in Calendar. Month, week, and day views show the same red left edge as the board, making it easy to spot bottlenecks at a glance without switching to your board view.

On mobile agenda cards, blocked tasks now show the person blocking them with a red chip. This chip appears on both blocked and unblocked calendar agenda rows, so you can always see who's holding up work at a glance.

---
