Skip to content

Collaboration

Hypertask is built for teams — whether that’s two founders, a 50-person engineering org, or a mix of humans and AI agents. Every feature is designed around the idea that project management is inherently collaborative.

Workspaces are the top-level container in Hypertask. Each workspace groups related projects together and manages team membership.

A workspace might represent your company, a department, or a client engagement. You can belong to multiple workspaces.

Invite team members to a project by generating an invite link. Invite links support several controls:

SettingDescription
ExpirationSet when the link stops working (e.g. 7 days, 30 days, never)
Usage limitCap how many people can join via this link
Domain restrictionLimit invites to specific email domains (e.g. @yourcompany.com)

Project members are assigned one of three roles, each with different privileges for managing the project:

RolePrivileges
OwnerFull control over the project: invite or remove members, board settings (renaming, sharing, archiving, deleting), view billing (plan + invoices), set payment method and invoicing email, and grant or revoke Admin permissions for other members
AdminAll day-to-day task work (create, edit, delete, assign, reply in comments) plus the ability to invite/remove other members, modify board settings, and view billing (plan + invoices)
MemberAll day-to-day task work (create, edit, delete, assign, reply in comments) with no additional permissions

To see who contributes which tasks:

  1. Open the project board.
  2. Check the board header for member avatars and counts.
  3. Hover over an avatar to see their role (Owner, Admin, or Member).

Security note: Members can only associate tasks they own to a specific board, and the system prevents them from adding tasks to boards in which they have no work. This ensures board-specific permissions are enforced.

Hypertask uses Better Auth for server-led authentication. When you log in via email code or magic-link, the response includes both the Better Auth session and your nookies_user and ht_session cookies:

  1. Initiate login — Click email code or magic-link in the login modal.
  2. Server processes — Better Auth verifies your identity on the server.
  3. Response includes cookies — The login response sets:
    • Better Auth session — Server-side session for your authentication.
    • nookies_user — Client-side user identity token.
    • ht_session — Server-validated signature for cookie integrity.
  4. Redirect to board — You’re redirected to a board in the app.

API key management is available to BYOK (Bring Your Own Key) teams. BYOK teams see and manage API keys directly in the Settings → Team navigation. For non-BYOK teams, the API Keys entry is hidden from this section.


The Settings → Team navigation shows team-scoped panels. In typical teams, this section shows your team members and basic configuration options. In discounted teams, the billing display shows a clearer breakdown of your plan:

  • Base price — The full list price of your plan, shown with the expected period
  • Discount — The discount amount applied if your team is eligible (e.g., for long-term commitments or enterprise pricing)
  • Amount due — The final amount you pay after applying the discount

When you’re already logged in and want to switch to a different account (for example, on the same browser):

  1. Initiate new login — Start logging in via email code or magic-link for the target account.
  2. Previous session cleared — The login response now properly clears the previous user’s Better Auth session cookies (Max-Age=0). This prevents the old user’s session from persisting.
  3. Fresh cookies set — Both Better Auth and nookies_user/ht_session are set for the new logging-in user.
  4. Redirect to board — You’re now logged in as the intended user.

This ensures that account switching works correctly and you always see the correct user in the app.

After login, your session persists until you explicitly sign out. Hiding or closing the browser doesn’t automatically log you out.

Your logged-in state is managed by the combination mentioned above. LocalStorage holds transient UI state (such as the current user object via Recoil), but the actual authentication identity is verified server-side on each request via the signed ht_session cookie.

AI agents can be added to boards just like human team members. When you add an agent to a board, it gains access to that board’s tasks and can be assigned work, @mentioned in comments, and participate in the project workflow.

  1. Open the board’s settings or invite panel.
  2. Look for the invite modal — it now shows both team members and any agents you’ve created.
  3. Select the agent you want to add to the board.
  4. The agent appears in the board’s member list and can now be assigned tasks.

Agents added to a board are treated as members of that board. This means:

  • Agents appear in the assignee dropdown for tasks on that board
  • Agents can be @mentioned in comments and will receive notifications
  • Agents can read and update tasks on that board via MCP

When you create an agent, it inherits access to all boards in projects where you’re a member. Use the board-level invite modal to restrict which boards an agent can access — boards not on the list treat the agent as if it doesn’t exist.

This is useful when:

  • You work across multiple clients or teams and don’t want a given agent active everywhere
  • You want to limit an agent to only the boards where it has relevant context
  • You have specialized agents for different workflows and need to keep them scoped

Type @ in any comment to mention a team member. Mentions do two things:

  1. Send a notification — the mentioned person receives an inbox notification immediately.
  2. Add as follower — the mentioned person is automatically added as a follower on the task, so they receive future updates.

Mentions work in comments and task descriptions.

React to tasks and comments with emoji. Reactions serve as lightweight feedback — a quick thumbs-up to acknowledge work, a flag to signal concern, or a celebration when something ships.

Reactions are visible to all project members and trigger a notification to the author.

For the most common reaction — a simple thumbs-up — Hypertask provides a fast like button that appears directly on task cards and comment rows. No need to open the full emoji picker:

  • Mouse users: hover over a task card or comment to reveal the like button, then click it to toggle your reaction on or off.
  • Mobile users: tap the like button that appears inline alongside the comment or task actions.

The like button is a shortcut for the thumbs-up reaction. It appears in the full reactions list alongside any other emoji your teammates have added, and it triggers the same notification to the author as any other reaction.

Comments can be starred (saved) or pinned, and the visual indicators update based on comment state:

  1. Pinned + saved — only the orange pinned dot displays (saved state is suppressed)
  2. Pinned only — only the orange pinned dot displays
  3. Saved only — only the yellow saved/starred dot displays

Click the activity icon next to a comment to see all reactions. This icon appears when someone has reacted in any way, whether it’s a like or another emoji expression.

Hypertask keeps every connected client live — no manual refreshes needed. Changes made anywhere in the app (or via the CLI and MCP) appear instantly for everyone who has the same board open.

What updates in real time:

  • Tasks appearing, disappearing, or moving between sections when created, archived, or moved
  • Task title, status, priority, and assignee changes
  • New comments and reactions
  • Board and section changes

This is powered by Pusher, so updates are pushed directly to connected browsers. Creating a task from the CLI and watching it appear on an open board with no page reload is a first-class workflow — useful for monitoring agents running in your terminal or CI pipeline.

For simultaneous editing of the same task description, Hypertask uses TipTap with Yjs. Multiple people can edit the same rich-text field at the same time, with changes merged automatically.

This applies to:

  • Task descriptions
  • Comments (while drafting)
  • Any rich text field in the app

There are no save buttons — changes persist as you type.

You can manage comments on any task — including comments left by other team members or agents. This is useful when:

  • Cleaning up outdated or irrelevant comments
  • Removing agent-generated comments that are no longer needed
  • Tidying up task threads for better readability

To delete a comment, open the task and use the delete option on the comment itself. Comment management is available to all project members — trust within the team is assumed for collaborative housekeeping.

Bare URLs in comments are automatically converted into clickable links at render time, regardless of how the comment was created. This applies to comments posted via the web UI, CLI, MCP, or any API client — so a deploy URL pasted by a CLI script or an agent’s status update with a link will always be clickable for your teammates.

Links open in a new tab. URLs that are already formatted as hyperlinks or embedded inside images are left unchanged.

The comment composer adapts to its available space. When the AI panel is open (especially in narrow column layouts), the composer expands to fit available width rather than staying fixed at a small size. This prevents text overflow and keeps the Send toolbar visible. Blurred composer states scroll smoothly instead of spilling content off the screen.

The comment composer includes a built-in Emoji & GIFs picker with two tabs, giving you Slack-style expressiveness in task discussions.

Type a slash command at the start of your comment to open the picker instantly:

CommandAction
/emojiOpens the picker on the Emoji tab
/giphyOpens the picker on the GIFs tab

Browse and search a full emoji library. Click any emoji to insert it into your comment at the cursor position.

The GIFs tab is powered by Giphy and offers two modes:

  • Trending — shows popular GIFs by default when you open the tab.
  • Search — type any query to find a GIF that fits the moment.

Click a GIF to insert it into your comment. Inserted GIFs render as resizable media — drag the corner handles to adjust the size, and the chosen dimensions are preserved when the comment is posted.

Every change in Hypertask is recorded in the activity log — a full audit trail of who did what, and when.

Tracked actions include:

  • Task creation, updates, and deletion
  • Section moves
  • Assignment and priority changes
  • Comments and reactions
  • Member joins and leaves
  • Board and section modifications

Activity logs are available at the task level (see what happened to a specific task) and the project level (see all activity across the project).

The task feed defaults to comments only — history events such as field changes, assignments, and status moves are hidden to reduce noise. This keeps the conversation readable at a glance, especially on busy tickets.

To reveal history events:

  • Click the Show history pill at the top of the feed, or
  • Press Ctrl+Shift+H

Both controls toggle history events on and off. You can also access Show/Hide history and Expand/Collapse all comments from the command palette (Ctrl+K).