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.
Shared modal spacing
Section titled “Shared modal spacing”Shared modals now use a consistent 24px inset for headers and footers so layouts behave predictably:
- Headers and footers are separated from content by 24px vertical spacing.
- Separators and horizontal rules inside modals stay aligned and stay inside the modal bounds.
- Intentional full-bleed lists (e.g., searchable assignee/worker lists) preserve their visual, making them easy to scan without hitting UI boundaries.
Follower notifications
Section titled “Follower notifications”When you mention someone on a task, they’re automatically added as a follower so they receive updates. Hypertask also respects the explicit follower field on task pages: sending those emails now uses the correct recipient key, so deliveries succeed without silent failures.
Profile photos are now included in assignment rows and activity history: photoURL is preserved across assignment and unassignment events, so cards, inbox items, and task detail history show the same person with a consistent avatar. When no usable image is available, the system falls back to initials instead of leaving holes.
Slack integration
Section titled “Slack integration”Connect Slack directly to Hypertask so decisions about tickets live where your team already collaborates.
Create tickets from Slack
Section titled “Create tickets from Slack”If your team minds decisions live in Slack instead of wandering into a separate tool:
-
Invite the Hypertask bot to the Slack channel where you want to capture ticket candidates (e.g.
@Hypertask invite). -
Create a task from a thread — in any thread, type:
@Hypertask create a task for this
The bot reads the entire thread, extracts a title and description using AI, creates the ticket on your default board, and replies in the same Slack thread with the ticket link. That thread is auto-watched, so follow-up summary comments appear directly on the ticket.
Auto-summarize idle threads on tickets
Section titled “Auto-summarize idle threads on tickets”When a Slack thread mentions a ticket (by ID like HTPR-123 or URL), Hypertask watches for quiet cycles:
- The bot monitors tabs and channels you’ve connected.
- When a thread goes idle for more than 30 minutes after receiving a ticket mention, it generates an AI summary and posts it as a comment on that ticket.
- The summary includes the key points and a Slack permalink so you can continue the discussion there.
This way, conversations that started in Slack don’t die there — they live permanently on the right ticket for your team and agents.
Requirements and setup
Section titled “Requirements and setup”- Slack app permissions: Ensure your Slack app has:
chat:write— to reply with ticket linkschat:write.public— to post in channels you don’t ownchannels:historyandgroups:history— to read thread contextapp_mentions:read— to detect ticket mentions
- Channel watching: You control which channels to watch (e.g. direct invite or workspace-wide discovery).
- Workspace scope: Slack integrations are team-scoped, so your connection is tied to your Hypertask team and limited to boards and tasks you have access to.
Comparison with existing Slack integrations
Section titled “Comparison with existing Slack integrations”Hypertask natively integrates Slack with thread-aware sync, unlike the older workers:
| Feature | ht-slack Worker | inne-slack-scout Agent | Hypertask Slack Integration |
|---|---|---|---|
| Can read channel messages | No (mention/DM only) | No (mentions only) | Yes (full thread history) |
| Links to existing tickets | No | No (drafts only) | Yes — auto-watches threads |
| Team-scoped | No (workspace fallback token) | Single-tenant | Team-scoped accounts |
| AI-driven summaries | No | No | Yes — auto-summaries on idle cycles |
Team workspaces
Section titled “Team workspaces”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.
Project members
Section titled “Project members”Inviting people
Section titled “Inviting people”Invite team members to a project by generating an invite link. Invite links support several controls:
| Setting | Description |
|---|---|
| Expiration | Set when the link stops working (e.g. 7 days, 30 days, never) |
| Usage limit | Cap how many people can join via this link |
| Domain restriction | Limit invites to specific email domains (e.g. @yourcompany.com) |
Roles and permissions
Section titled “Roles and permissions”Project members are assigned one of three roles, each with different privileges for managing the project:
| Role | Privileges |
|---|---|
| Owner | Full 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 |
| Admin | All 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) |
| Member | All day-to-day task work (create, edit, delete, assign, reply in comments) with no additional permissions |
To see who contributes which tasks:
- Open the project board.
- Check the board header for member avatars and counts.
- 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.
M and better Auth integration
Section titled “M and better Auth integration”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:
Login flow
Section titled “Login flow”- Initiate login — Click email code or magic-link in the login modal.
- Server processes — Better Auth verifies your identity on the server.
- 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.
- Redirect to board — You’re redirected to a board in the app.
BYOK and API keys
Section titled “BYOK and API keys”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.
Settings navigation
Section titled “Settings navigation”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
Settings footer
Section titled “Settings footer”On every settings page, the viewport is now terminated by a sticky footer with quick access links and a labeled Sign out button:
- Feedback — icons for general feedback and contact page opening
- Sign out — prominent red button that updates to indicate action on hover
The previously misleading Profile > Account section is no longer displayed. Links previously reachable under “Profile → Account” now redirect to their correct locations.
- Navigation footer persists across navigation throughout settings pages
- Sign out behavior is updated with visual feedback when hovered
- Last-visible anchor details appear only when the user intentionally scrolls into view
Switching accounts without logout
Section titled “Switching accounts without logout”When you’re already logged in and want to switch to a different account (for example, on the same browser):
- Initiate new login — Start logging in via email code or magic-link for the target account.
- 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.
- Fresh cookies set — Both Better Auth and nookies_user/ht_session are set for the new logging-in user.
- 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.
Persistent sign-in state
Section titled “Persistent sign-in state”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.
Scope-aware agents and membership
Section titled “Scope-aware agents and membership”Agents and team members are now team-scoped: an agent’s access is derived from the teams you belong to. This prevents cross-team leakage and ensures agents can only work on boards you have permission to access.
Team-scoped agents
Section titled “Team-scoped agents”When you create an agent, it inherits access to all teams you’re a member of:
- Access enforcement — Hypertask uses server-side gates to verify the creator’s membership. If you don’t have permission to add the agent to a team, the operation is rejected.
- Cross-team attachment prevented — Even if an agent exists under a team, it cannot be attached to a board or team you don’t belong to. Any attempt to configure such an attachment fails server-side.
- No schema changes — Scoping is enforced via application logic, not database schema changes, keeping the database stable.
This scoping applies when:
- Inviting an agent to a board from the board invite modal
- Configuring an agent’s permissions in Settings
- Using the agent in MCP tools or interactive sessions
Platform-level team membership
Section titled “Platform-level team membership”Team membership controls what agents you can create and configure:
- Team tab — Shows your team and any board you’re a member of, plus the agents you can add to that team’s boards.
- All teams — Lists all available teams and their associated agents.
- Board tab — Shows a specific board and whether it’s associated with your team across charts.
Membership visibility is scoped per section:
- Team tab — Displays Members / Agents / Skills for each team you’re a member of.
- Board tab — Shows that board’s Members and Agents alongside their roles and association checkboxes if applicable.
AI Agents
Section titled “AI Agents”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.
Adding agents to boards
Section titled “Adding agents to boards”- Open the board’s settings or invite panel.
- Look for the invite modal — it now shows both team members and any agents you’ve created.
- Select the agent you want to add to the board.
- 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
Agent access scope
Section titled “Agent access scope”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
Feedback
Section titled “Feedback”Give feedback directly from the app with a prominent call-to-action. The feedback button is always available at the bottom of the app shell rail and opens a fully-featured real feedback modal with:
- Fast-track submission fields for quick suggestions
- Rich text support so you can include screenshots, drafts, or detailed feature requests
- Clear category selection to route your feedback to the right teams
- Direct posting to the Feedback board with auto-assignment
@mentions
Section titled “@mentions”Type @ in any comment to mention a team member. Mentions do two things:
- Send a notification — the mentioned person receives an inbox notification immediately.
- 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, and support native and external agents:
Agent @mentions
Section titled “Agent @mentions”@mentioning an agent (native or external) triggers a Mentioned notification in that agent’s inbox. External agents with scoped tokens receive notifications via their agent_notifications array and can poll it with hypertask_inbox_list to pick up mentions.
This means you can @mention external agents in comments and task descriptions to trigger automation; the agent’s inbox receives a Mentioned notification, and it can respond via MCP comments with proper HTML markup.
If an external agent isn’t receiving @mentions, verify that it has board-level access.
Emoji reactions
Section titled “Emoji reactions”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.
Fast like button
Section titled “Fast like button”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 row to reveal the like button, which shows a tooltip with an “[L]” hint; click it to toggle your reaction on or off (the tooltip appears behind the button per production behavior).
- 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.
| Position | Appearance |
|---|---|
| Task cards (hover) | Thumbs-up quick-like icon; tooltip with [L] hint; appears behind the like toggle when !hasLiked is true (CommentOptions.tsx:75 per production spec) |
| Comment reactions row (inline) | Thumbs-up integrated in the reactions row with the same behavior and tooltip hint |
Mobile emoji picker
Section titled “Mobile emoji picker”On mobile devices, emoji reactions are organized into a docked picker that mimics popular messaging apps:
- Picker appears docked at the bottom of the screen, aligned with the keyboard input area
- A search bar on the Emoji tab lets you quickly find emojis by name
- Selecting an emoji immediately applies it as a reaction, with the picker closing automatically
Comment display
Section titled “Comment display”Comments can be starred (saved) or pinned, and the visual indicators update based on comment state:
- Pinned + saved — only the orange pinned dot displays (saved state is suppressed)
- Pinned only — only the orange pinned dot displays
- Saved only — only the yellow saved/starred dot displays
All reactions icon
Section titled “All reactions icon”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.
Agent decision requests
Section titled “Agent decision requests”Agents can now ask you for decisive feedback on tickets. When an agent encounters a decision that impacts work (e.g., “Archive this task,” “Move to inactive,” etc.), it opens a decision request on the ticket with one-tap approve/answer buttons.
Triggering decision requests
Section titled “Triggering decision requests”Decision requests appear as inline panels on the ticket:
- Approve — Applies the agent’s suggested action with one tap
- Reject / More options — Opens a menu with detailed choices or alternative actions
Agents only create decision requests when the suggested action clearly affects board state and benefits from human sign-off. Routine summaries, AI editor outputs, and informational messages do not trigger requests.
Agent aftermath
Section titled “Agent aftermath”Once you respond:
- Approved decisions — The agent applies the action to the ticket immediately (e.g., archives the task and adds a reason comment)
- Rejected or alternative — The agent stops iterating on that item and moves on, leaving the ticket in its current state
You can review all pending decision requests anytime in the ticket feed — the panel stays visible until resolved.
Real-time sync
Section titled “Real-time sync”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.
Real-time collaborative text editing
Section titled “Real-time collaborative text editing”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.
Managing comments
Section titled “Managing comments”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.
Comment hover panel
Section titled “Comment hover panel”The comment hover panel in table views and card lists is streamlined for faster access to actions:
- Reply — standard reply action
- React — add or remove a reaction (thumbs-up, favorite, flag, etc.)
- Three-dot menu — click the three-dot to reveal remaining options
Press and hold Ctrl+K (or the three-dot itself) to access the full menu with all comment commands pinned at the top:
- Edit — modify the comment
- Summarize — generate an AI summary of the comment thread
- Fast like — quickly add a thumbs-up reaction
For the most common reaction, just hover and click the like button directly on the comment row. No need to open the full emoji picker.
Mobile swipe to actions
Section titled “Mobile swipe to actions”On mobile devices, you can swipe a comment to reveal its action menu:
- One-finger swipe right or left across a comment to open its quick actions menu
- Available actions appear inline alongside the comment content
- The menu provides fast access to common comment actions without opening the full detail view
This makes quick to delete, star, or otherwise manage comments directly from your mobile feed.
Mobile comment actions menu
Section titled “Mobile comment actions menu”When you tap into a comment’s action menu on mobile, you can find and manage several options:
- Edit — tap to open the comment composer
- Delete — remove the comment from the thread
- Star or turn off star — save or unsave the comment
- Pin or turn off pin — pin the comment to the top of the feed
URL auto-linkification
Section titled “URL auto-linkification”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.
Comment composer sizing
Section titled “Comment composer sizing”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.
On mobile, the composer automatically adjusts its positioning: it offsets by max(keyboardInset, dockHeight) so it rests on the tab bar when the keyboard is closed and correctly above the keyboard when you start typing. This ensures the composer remains visible and usable on task detail pages even with the bottom dock.
Quoted replies
Section titled “Quoted replies”When you reply to a comment, Hypertask inserts a placeholder for the quoted message. If you were typing before you selected the comment, the system adds a space before the quoted text so your existing words don’t run together:
- After existing text: the reply includes
Your text [quotation start]—Your text "Original comment"(space inserted automatically) - Already after whitespace: the quoted text appears and you can keep typing without an extra space
This spacing is handled invisibly in the background, so quoted replies flow naturally into your sentence structure.
GIFs and emoji in comments
Section titled “GIFs and emoji in comments”The comment composer includes a built-in Emoji & GIFs picker with two tabs, giving you Slack-style expressiveness in task discussions.
Slash commands
Section titled “Slash commands”Type a slash command at the start of your comment to open the picker instantly:
| Command | Action |
|---|---|
/emoji | Opens the picker on the Emoji tab |
/giphy | Opens the picker on the GIFs tab |
Emoji tab
Section titled “Emoji tab”Browse and search a full emoji library. Click any emoji to insert it into your comment at the cursor position.
GIFs tab
Section titled “GIFs tab”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.
Comment edit mode
Section titled “Comment edit mode”Edit a comment to refine your thoughts or fix mistakes. The editor includes keyboard shortcuts to help you work efficiently:
| Shortcut | Action |
|---|---|
| ESC | Leave edit mode without sending (clears unsaved edits) |
| Ctrl+Enter | Send the edited comment |
Exiting edit mode
Section titled “Exiting edit mode”When you’re in edit mode and want to abandon your changes:
- Mouse: click the trash can icon in the edit-mode footer
- Keyboard: press ESC
Both options exit edit mode without posting the comment and without polluting the conversation with draft text.
Activity logs
Section titled “Activity logs”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).
Comments-only view (default)
Section titled “Comments-only view (default)”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).