fish — Fishladder CLI

Command reference · v0.19.0 · 155 commands

Getting started

Install from npm (Node 18 or later), then sign in with your browser:

npm install -g fishladder
fish login          # opens the browser to authorise; the token goes in your system keychain
fish whoami         # which team and account you're using
  • The CLI uses the REST API with a key that acts as you: your role and modules decide what works, and restricted boards stay hidden. Deleting is admin-only (except removing a HubSpot link).
  • Add --format json to most commands for machine-readable output. River, canvas, AI and labeler commands that take content also read it from stdin, so you can pipe files and transcripts in.
  • People can be named as me, an email, a full name or a unique first name (see fish members). River pages can be named by the short ID from fish river pages or by title.
  • Update with npm install -g fishladder@latest. This page describes v0.19.0.

fish login

fish login

Authenticate with Fishladder via browser

fish login [options]
OptionDefaultDescription
--team <id>Mint the key for a specific team, instead of whichever org is active in the web app

fish logout

fish logout

Remove stored keys — all of them, or one team with --team

fish logout [options]
OptionDefaultDescription
--team <id>Forget only this team, keeping the others

fish whoami

fish whoami

Show the authenticated user, their team, and their access

fish whoami [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json

fish teams

fish teams

List the teams you belong to, and switch between them

fish teams listdefault

List your teams, marking the one commands run against

fish teams list [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish teams use

Point subsequent commands at a team you already have a key for

fish teams use [options] <teamId>
ArgumentKindDescription
<teamId>*required—

fish projects

fish projects

Manage roadmap projects

fish projects list

List all projects

fish projects list [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish projects create

Create a new project

fish projects create [options] <title>
ArgumentKindDescription
<title>*required—
OptionDefaultDescription
--description <text>Project description
--status <status>plannedStatus (default: planned)
--initiative <id>Initiative ID
--column <name>Kanban column
--row <rowId>Kanban row ID
--start <date>Start date (YYYY-MM-DD)
--target <date>Target date (YYYY-MM-DD)
--tracker <idOrName>Link to a tracker project (board) — ID or name
--format <format>tableOutput format: table or json
fish projects update

Update an existing project

fish projects update [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--title <title>New title
--description <text>New description
--status <status>New status
--initiative <id>Initiative ID
--column <name>Kanban column
--row <rowId>Kanban row ID
--start <date>Start date (YYYY-MM-DD)
--target <date>Target date (YYYY-MM-DD)
--tracker <idOrName>Link to a tracker project (board) — ID or name
--untrackRemove the tracker project link
--format <format>tableOutput format: table or json
fish projects delete

Delete a project

fish projects delete [options] <id>
ArgumentKindDescription
<id>*required—

fish project

fish project

Manage the default project for this directory

fish project use

Set the default project (by ID, name, or unique name fragment); saved to .fishladder.json

fish project use [options] <nameOrId>
ArgumentKindDescription
<nameOrId>*required—
fish project current

Show the default project in effect

fish project current [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish project clear

Clear the default project saved in .fishladder.json

fish tasks

fish tasks

Manage tracker tasks

fish tasks projects

List tracker projects

fish tasks projects [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish tasks list

List tasks (filters by the default project when one is set)

fish tasks list [options]
OptionDefaultDescription
--project <id>Filter by project ID
--allList tasks across all projects, ignoring the default project
--format <format>tableOutput format: table or json
fish tasks show

Show full details of a task

fish tasks show [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish tasks create

Create a new task (supports smart syntax: @user !priority #tag due:date)

fish tasks create [options] <title>
ArgumentKindDescription
<title>*required—
OptionDefaultDescription
--project <id>Project ID (defaults to the project set via fish project use)
--description <text>Task description
--section <idOrName>Section (board column) to place the task in — ID or name
--assign <who>Assignee: me, a name, an email, or a user ID (see fish members)
--priority <level>nonePriority: none, low, medium, high, urgent
--due <date>Due date (YYYY-MM-DD)
--format <format>tableOutput format: table or json
fish tasks update

Update an existing task

fish tasks update [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--title <title>New title
--description <text>New description
--assign <who>Reassign: me, a name, an email, a user ID, or none (see fish members)
--priority <level>Priority: none, low, medium, high, urgent
--due <date>Due date (YYYY-MM-DD)
--section <idOrName>Move to section (board column) — ID or name
--status <idOrName>Set status — ID or name
--format <format>tableOutput format: table or json
fish tasks complete

Mark a task as complete

fish tasks complete [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish tasks delete

Delete a task

fish tasks delete [options] <id>
ArgumentKindDescription
<id>*required—
fish tasks drive

A task's Google Drive links (its Google Drive section)

fish tasks drive listdefault

List the Drive files linked to a task

fish tasks drive list [options] <taskId>
ArgumentKindDescription
<taskId>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish tasks drive add

Add a Google Drive / Docs / Sheets / Slides link to a task

fish tasks drive add [options] <taskId> <url>
ArgumentKindDescription
<taskId>*required—
<url>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish tasks drive remove

Remove a Drive link from a task (admin — the API reserves deletes for admins)

fish tasks drive remove [options] <taskId> <linkId>
ArgumentKindDescription
<taskId>*required—
<linkId>*required—

fish sections

fish sections

Manage board sections (columns) of a tracker project

fish sections listdefault

List sections of a project

fish sections list [options]
OptionDefaultDescription
--project <id>Project ID (defaults to the project set via fish project use)
--format <format>tableOutput format: table or json
fish sections create

Create a section (board column)

fish sections create [options] <name>
ArgumentKindDescription
<name>*required—
OptionDefaultDescription
--project <id>Project ID (defaults to the project set via fish project use)
--order <n>Sort order (position among columns)
--format <format>tableOutput format: table or json

fish statuses

fish statuses

View workflow statuses of a tracker project

fish statuses listdefault

List statuses of a project

fish statuses list [options]
OptionDefaultDescription
--project <id>Project ID (defaults to the project set via fish project use)
--format <format>tableOutput format: table or json

fish feedback

fish feedback

Manage feedback entries

fish feedback list

List all feedback

fish feedback list [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish feedback create

Create a new feedback entry

fish feedback create [options] <title>
ArgumentKindDescription
<title>*required—
OptionDefaultDescription
--details <text>Feedback details
--impact <level>mediumImpact: low, medium, high
--company <name>Company name
--format <format>tableOutput format: table or json
fish feedback analyze

Run AI analysis on feedback (supports stdin)

fish feedback analyze [options]
OptionDefaultDescription
--ids <ids>Comma-separated feedback IDs to analyze
--format <format>tableOutput format: table or json

fish hiring

fish hiring

Manage hiring / ATS

fish hiring jobs

List open jobs

fish hiring jobs [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish hiring candidates

List all candidates

fish hiring candidates [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish hiring pipeline

List applications (hiring pipeline)

fish hiring pipeline [options]
OptionDefaultDescription
--job <id>Filter by job ID
--format <format>tableOutput format: table or json
fish hiring move

Move an application to a different stage

fish hiring move [options] <applicationId>
ArgumentKindDescription
<applicationId>*required—
OptionDefaultDescription
--stage <stageId>*Target stage ID
--format <format>tableOutput format: table or json
fish hiring hire

Mark an application as hired

fish hiring hire [options] <applicationId>
ArgumentKindDescription
<applicationId>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish hiring reject

Reject an application

fish hiring reject [options] <applicationId>
ArgumentKindDescription
<applicationId>*required—
OptionDefaultDescription
--reason <text>Rejection reason
--format <format>tableOutput format: table or json

fish goals

fish goals

Manage goals and OKRs

fish goals list

List all goals

fish goals list [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish goals create

Create a new goal

fish goals create [options] <title>
ArgumentKindDescription
<title>*required—
OptionDefaultDescription
--description <text>Goal description
--color <hex>Color hex code (e.g. #6B7280)
--status <status>activeStatus (default: active)
--format <format>tableOutput format: table or json

fish initiatives

fish initiatives

Manage roadmap initiatives

fish initiatives list

List all initiatives

fish initiatives list [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish initiatives create

Create a new initiative

fish initiatives create [options] <title>
ArgumentKindDescription
<title>*required—
OptionDefaultDescription
--description <text>Initiative description
--status <status>plannedStatus (default: planned)
--color <hex>Color hex code
--row <rowId>Kanban row ID
--format <format>tableOutput format: table or json

fish rows

fish rows

Manage kanban rows

fish rows list

List all kanban rows

fish rows list [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish rows create

Create a new kanban row

fish rows create [options] <name>
ArgumentKindDescription
<name>*required—
OptionDefaultDescription
--goal <text>Row goal description
--format <format>tableOutput format: table or json

fish custom-fields

fish custom-fields

View custom field definitions

fish custom-fields list

List custom field definitions

fish custom-fields list [options]
OptionDefaultDescription
--type <entityType>Filter by entity type: task, candidate, or project
--format <format>tableOutput format: table or json

fish webhooks

fish webhooks

Manage webhook endpoints

fish webhooks list

List all webhooks

fish webhooks list [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish webhooks create

Create a new webhook endpoint

fish webhooks create [options] <url>
ArgumentKindDescription
<url>*required—
OptionDefaultDescription
--events <events>*Comma-separated event names
--format <format>tableOutput format: table or json

fish ai

fish ai

AI-powered analysis and suggestions

fish ai chat

Chat with the AI assistant

fish ai chat [options] <message>
ArgumentKindDescription
<message>*required—
OptionDefaultDescription
--format <format>textOutput format: text or json
fish ai generate-tasks

Generate tasks from a transcript or notes (reads from stdin)

fish ai generate-tasks [options]
OptionDefaultDescription
--project <id>*Project ID
--format <format>tableOutput format: table or json
fish ai detect-blocked

Detect blocked tasks in a project

fish ai detect-blocked [options]
OptionDefaultDescription
--project <id>*Project ID
--format <format>tableOutput format: table or json
fish ai suggest-priority

Get an AI-suggested priority for a task

fish ai suggest-priority [options] <taskId>
ArgumentKindDescription
<taskId>*required—
OptionDefaultDescription
--format <format>textOutput format: text or json
fish ai suggest-assignment

Get an AI-suggested assignee for a task

fish ai suggest-assignment [options] <taskId>
ArgumentKindDescription
<taskId>*required—
OptionDefaultDescription
--format <format>textOutput format: text or json
fish ai ingest

Extract structured feedback from raw text (reads from stdin)

fish ai ingest [options]
OptionDefaultDescription
--source <source>manualSource label (e.g. support, review, interview)
--format <format>tableOutput format: table or json
fish ai auto-group

Auto-cluster feedback items into groups

fish ai auto-group [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish ai score

AI-score a candidate application

fish ai score [options] <applicationId>
ArgumentKindDescription
<applicationId>*required—
OptionDefaultDescription
--format <format>textOutput format: text or json
fish ai bottlenecks

Identify hiring pipeline bottlenecks

fish ai bottlenecks [options]
OptionDefaultDescription
--job <id>*Job ID
--format <format>tableOutput format: table or json
fish ai suggest-projects

Suggest new roadmap projects from feedback patterns

fish ai suggest-projects [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish ai connect-goals

Auto-link projects to strategic goals

fish ai connect-goals [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish ai signals

View active AI signals

fish ai signals [options]
OptionDefaultDescription
--module <module>Filter by module: feedback, tracker, roadmap, ats, cross
--format <format>tableOutput format: table or json
fish ai actions

List AI actions

fish ai actions [options]
OptionDefaultDescription
--status <status>Filter by status (e.g. pending, applied)
--module <module>Filter by module
--format <format>tableOutput format: table or json
fish ai approve

Approve a pending AI action

fish ai approve [options] <actionId>
ArgumentKindDescription
<actionId>*required—
OptionDefaultDescription
--format <format>textOutput format: text or json
fish ai reject

Reject a pending AI action

fish ai reject [options] <actionId>
ArgumentKindDescription
<actionId>*required—
OptionDefaultDescription
--format <format>textOutput format: text or json
fish ai undo

Undo an applied AI action

fish ai undo [options] <actionId>
ArgumentKindDescription
<actionId>*required—
OptionDefaultDescription
--feedback <text>Feedback on why this was undone
--format <format>textOutput format: text or json

fish crm

fish crm

CRM — contacts, companies, deals, pipelines, activities

fish crm contacts

List contacts

fish crm contacts [options] [command]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm contacts show

Show a contact

fish crm contacts show [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm contacts create

Create a contact

fish crm contacts create [options]
OptionDefaultDescription
--first-name <name>*First name
--last-name <name>*Last name
--email <email>Email address
--phone <phone>Phone number
--title <title>Job title
--company <companyId>Company ID
--source <source>Source: referral, linkedin, website, cold_outreach, event, inbound, other
--lifecycle <stage>Lifecycle stage: lead, qualified, opportunity, customer, churned
--format <format>tableOutput format: table or json
fish crm contacts update

Update a contact

fish crm contacts update [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--first-name <name>First name
--last-name <name>Last name
--email <email>Email address
--phone <phone>Phone number
--title <title>Job title
--company <companyId>Company ID
--source <source>Source
--lifecycle <stage>Lifecycle stage
--format <format>tableOutput format: table or json
fish crm contacts delete

Delete a contact

fish crm contacts delete [options] <id>
ArgumentKindDescription
<id>*required—
fish crm companies

List companies

fish crm companies [options] [command]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm companies show

Show a company

fish crm companies show [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm companies create

Create a company

fish crm companies create [options]
OptionDefaultDescription
--name <name>*Company name
--domain <domain>Domain
--industry <industry>Industry
--website <url>Website URL
--size <size>Size: startup, small, medium, large, enterprise
--phone <phone>Phone number
--format <format>tableOutput format: table or json
fish crm companies update

Update a company

fish crm companies update [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--name <name>Company name
--domain <domain>Domain
--industry <industry>Industry
--website <url>Website URL
--size <size>Size
--phone <phone>Phone number
--format <format>tableOutput format: table or json
fish crm companies delete

Delete a company

fish crm companies delete [options] <id>
ArgumentKindDescription
<id>*required—
fish crm deals

List deals

fish crm deals [options] [command]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm deals show

Show a deal

fish crm deals show [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm deals create

Create a deal

fish crm deals create [options]
OptionDefaultDescription
--title <title>*Deal title
--pipeline <pipelineId>*Pipeline ID
--stage <stageId>Stage ID
--value <cents>Value in cents (e.g. 50000 = $500.00)
--currency <code>Currency code (default: USD)
--contact <contactId>Contact ID
--company <companyId>Company ID
--expected-close <date>Expected close date (YYYY-MM-DD)
--format <format>tableOutput format: table or json
fish crm deals update

Update a deal

fish crm deals update [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--title <title>Deal title
--pipeline <pipelineId>Pipeline ID
--stage <stageId>Stage ID
--value <cents>Value in cents
--currency <code>Currency code
--contact <contactId>Contact ID
--company <companyId>Company ID
--expected-close <date>Expected close date (YYYY-MM-DD)
--status <status>Status: open, won, lost
--lost-reason <text>Lost reason
--format <format>tableOutput format: table or json
fish crm deals delete

Delete a deal

fish crm deals delete [options] <id>
ArgumentKindDescription
<id>*required—
fish crm pipelines

List pipelines

fish crm pipelines [options] [command]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm pipelines show

Show a pipeline and its stages

fish crm pipelines show [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm pipelines create

Create a pipeline

fish crm pipelines create [options]
OptionDefaultDescription
--name <name>*Pipeline name
--format <format>tableOutput format: table or json
fish crm pipelines update

Update a pipeline

fish crm pipelines update [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--name <name>Pipeline name
--format <format>tableOutput format: table or json
fish crm pipelines delete

Delete a pipeline

fish crm pipelines delete [options] <id>
ArgumentKindDescription
<id>*required—
fish crm activities

List activities

fish crm activities [options] [command]
OptionDefaultDescription
--contact <contactId>Filter by contact
--company <companyId>Filter by company
--deal <dealId>Filter by deal
--format <format>tableOutput format: table or json
fish crm activities show

Show an activity

fish crm activities show [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm activities create

Create an activity

fish crm activities create [options]
OptionDefaultDescription
--type <type>*Type: call, email, meeting, note, task
--subject <text>Subject
--body <text>Body text
--for-contact <contactId>Contact ID
--for-company <companyId>Company ID
--for-deal <dealId>Deal ID
--duration <minutes>Duration in minutes
--format <format>tableOutput format: table or json
fish crm activities update

Update an activity

fish crm activities update [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--type <type>Type: call, email, meeting, note, task
--subject <text>Subject
--body <text>Body text
--for-contact <contactId>Contact ID
--for-company <companyId>Company ID
--for-deal <dealId>Deal ID
--duration <minutes>Duration in minutes
--format <format>tableOutput format: table or json
fish crm activities delete

Delete an activity

fish crm activities delete [options] <id>
ArgumentKindDescription
<id>*required—
fish crm score

AI-score a deal

fish crm score [options] <dealId>
ArgumentKindDescription
<dealId>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm suggest

Suggest next actions for a deal or contact

fish crm suggest [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--deal <dealId>Deal ID
--contact <contactId>Contact ID
--format <format>tableOutput format: table or json
fish crm enrich-contact

Enrich a contact via SalmonRun

fish crm enrich-contact [options] <contactId>
ArgumentKindDescription
<contactId>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm enrich-company

Enrich a company via SalmonRun

fish crm enrich-company [options] <companyId>
ArgumentKindDescription
<companyId>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm search-contacts

Search for contacts at a company

fish crm search-contacts [options] <companyId>
ArgumentKindDescription
<companyId>*required—
OptionDefaultDescription
--department <dept>Comma-separated: engineering, sales, marketing, product, hr, finance, legal, operations
--seniority <level>Comma-separated: c-level, vp, director, manager, senior, mid, junior
--count <n>Max contacts to return
--format <format>tableOutput format: table or json
fish crm analyze

AI-analyze a pipeline

fish crm analyze [options] <pipelineId>
ArgumentKindDescription
<pipelineId>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish crm draft-email

Draft an email for a contact

fish crm draft-email [options] <contactId>
ArgumentKindDescription
<contactId>*required—
OptionDefaultDescription
--purpose <text>*What the email is about
--deal <dealId>Deal context
--tone <tone>professionalTone: professional, casual, formal
--format <format>tableOutput format: table or json
fish crm summarize

Summarize activities for a contact, deal, or company

fish crm summarize [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--contact <contactId>Contact ID
--deal <dealId>Deal ID
--company <companyId>Company ID
--format <format>tableOutput format: table or json

fish cpq

fish cpq

CPQ — products, quotes, line items

fish cpq products

List products

fish cpq products [options] [command]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish cpq products show

Show a product

fish cpq products show [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish cpq quotes

List quotes

fish cpq quotes [options] [command]
OptionDefaultDescription
--status <status>Filter by status: draft, sent, viewed, accepted, declined, expired
--format <format>tableOutput format: table or json
fish cpq quotes show

Show a quote with line items

fish cpq quotes show [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish cpq quotes create

Create a quote

fish cpq quotes create [options]
OptionDefaultDescription
--title <title>*Quote title
--recipient <name>Recipient name
--email <addr>Recipient email
--company <name>Recipient company
--currency <code>Currency code (default: USD)
--valid-until <date>Valid until date (YYYY-MM-DD)
--terms <text>Payment terms
--notes <text>Notes (visible to recipient)
--internal-notes <text>Internal notes
--template <templateId>Template ID
--deal <dealId>Deal ID (CRM link)
--contact <contactId>Contact ID (CRM link)
--format <format>tableOutput format: table or json
fish cpq quotes update

Update a quote

fish cpq quotes update [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--title <title>Quote title
--recipient <name>Recipient name
--email <addr>Recipient email
--company <name>Recipient company
--currency <code>Currency code
--valid-until <date>Valid until date (YYYY-MM-DD)
--terms <text>Payment terms
--notes <text>Notes
--internal-notes <text>Internal notes
--template <templateId>Template ID
--deal <dealId>Deal ID
--contact <contactId>Contact ID
--format <format>tableOutput format: table or json
fish cpq quotes delete

Delete a draft quote

fish cpq quotes delete [options] <id>
ArgumentKindDescription
<id>*required—
fish cpq quotes add-item

Add a line item to a quote

fish cpq quotes add-item [options] <quoteId>
ArgumentKindDescription
<quoteId>*required—
OptionDefaultDescription
--name <name>*Line item name
--qty <n>Quantity (default: 1)
--price <cents>Unit price in cents
--product <productId>Product ID (links to catalog)
--description <text>Description
--discount-pct <n>Discount percentage
--discount-amt <cents>Discount fixed amount in cents
--tax <bps>Tax rate in basis points (1000 = 10%)
--billing <interval>Billing interval: monthly, quarterly, annual
--section <sectionId>Section ID
--sort <n>Sort order
--format <format>tableOutput format: table or json
fish cpq quotes update-item

Update a line item

fish cpq quotes update-item [options] <quoteId> <itemId>
ArgumentKindDescription
<quoteId>*required—
<itemId>*required—
OptionDefaultDescription
--name <name>Line item name
--qty <n>Quantity
--price <cents>Unit price in cents
--product <productId>Product ID
--description <text>Description
--discount-pct <n>Discount percentage
--discount-amt <cents>Discount fixed amount in cents
--tax <bps>Tax rate in basis points
--billing <interval>Billing interval
--section <sectionId>Section ID
--sort <n>Sort order
--format <format>tableOutput format: table or json
fish cpq quotes remove-item

Remove a line item from a quote

fish cpq quotes remove-item [options] <quoteId> <itemId>
ArgumentKindDescription
<quoteId>*required—
<itemId>*required—
fish cpq quotes send

Send a quote and get a share link

fish cpq quotes send [options] <quoteId>
ArgumentKindDescription
<quoteId>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json

fish river

fish river

Manage River wiki spaces and pages

fish river spaces

Manage wiki spaces

fish river spaces listdefault

List wiki spaces

fish river spaces list [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish river spaces create

Create a wiki space

fish river spaces create [options] <name>
ArgumentKindDescription
<name>*required—
OptionDefaultDescription
--description <text>Space description
--icon <icon>Space icon
--format <format>tableOutput format: table or json
fish river pages

List wiki pages as a tree (structure only, no content)

fish river pages [options]
OptionDefaultDescription
--space <idOrName>Filter by space — name, ID or ID prefix
--archivedInclude archived pages
--format <format>treeOutput format: tree or json
fish river show

Show a wiki page as markdown — ID, ID prefix, or title

fish river show [options] <page>
ArgumentKindDescription
<page>*required—
OptionDefaultDescription
--format <format>mdOutput format: md or json
fish river create

Create a wiki page (content from --file, --content, or stdin as markdown)

fish river create [options] <title>
ArgumentKindDescription
<title>*required—
OptionDefaultDescription
--space <idOrName>*Space — name or ID (required)
--parent <idOrTitle>Parent page — title or ID (must be in that space)
--content <markdown>Page content as markdown
--file <path>Read page content from a markdown file
--format <format>tableOutput format: table or json
fish river update

Update a wiki page — ID, ID prefix, or title (content from --file, --content, or stdin as markdown)

fish river update [options] <page>
ArgumentKindDescription
<page>*required—
OptionDefaultDescription
--title <title>New title
--content <markdown>New content as markdown (replaces existing)
--file <path>Read new content from a markdown file
--parent <idOrTitle>Move under a new parent page
--summary <text>Version summary for the snapshot of the previous content
--archiveArchive the page
--unarchiveRestore an archived page
--format <format>tableOutput format: table or json
fish river move

Move a page to a space (top level) or under a parent page — IDs, ID prefixes, or names accepted

fish river move [options] <page>
ArgumentKindDescription
<page>*required—
OptionDefaultDescription
--space <idOrName>Destination space; top level unless --parent is also given
--parent <idOrTitle>Destination parent page
--create-spaceCreate the space named by --space if it does not exist
--position <n>Slot among the new siblings (default: after the last one)
--format <format>tableOutput format: table or json

fish canvas

fish canvas

Manage canvases — self-contained HTML documents hosted by Fishladder

fish canvas listdefault

List canvases

fish canvas list [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish canvas show

Show a canvas (metadata by default; --html prints the raw document)

fish canvas show [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--htmlPrint the raw HTML document to stdout (pipe to a file to export)
--format <format>tableOutput format: table or json
fish canvas create

Create a canvas (HTML from --file, --html, or stdin)

fish canvas create [options] <title>
ArgumentKindDescription
<title>*required—
OptionDefaultDescription
--file <path>Read the HTML document from a file
--html <html>HTML document as a string
--description <text>One-line description
--format <format>tableOutput format: table or json
fish canvas update

Update a canvas (document from --file, --html, or stdin; previous version kept)

fish canvas update [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--title <title>New title
--description <text>New description
--file <path>Read the replacement HTML document from a file
--html <html>Replacement HTML document as a string
--format <format>tableOutput format: table or json
fish canvas delete

Delete a canvas

fish canvas delete [options] <id>
ArgumentKindDescription
<id>*required—
fish canvas versions

List past versions of a canvas (newest first)

fish canvas versions [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish canvas restore

Restore a past version (the restore itself is snapshotted too)

fish canvas restore [options] <id> <versionId>
ArgumentKindDescription
<id>*required—
<versionId>*required—
OptionDefaultDescription
--format <format>tableOutput format: table or json

fish labeler

fish labeler

Labeler projects, labelers, tasks, and work logged on their behalf

fish labeler projects

List labeler projects with their labelers and managers

fish labeler projects [options]
OptionDefaultDescription
--archivedInclude archived projects
--format <format>tableOutput format: table or json
fish labeler labelers

List labeler-role members and the projects they are assigned to

fish labeler labelers [options]
OptionDefaultDescription
--format <format>tableOutput format: table or json
fish labeler tasks

Tasks pushed by a platform or logged in the app

fish labeler tasks listdefault

List tasks

fish labeler tasks list [options]
OptionDefaultDescription
--project <id>Filter by project ID
--labeler <emailOrId>Filter by labeler email or user ID
--status <status>assigned | in_progress | done | rejected
--source <source>api | manual | ui
--external-id <id>Match a platform task id
--from <date>Window start (ISO or YYYY-MM-DD)
--to <date>Window end (ISO or YYYY-MM-DD)
--limit <n>Max rows (default 200, max 500)
--format <format>tableOutput format: table or json
fish labeler tasks push

Create or update tasks from JSON (a task object or an array) via --file, --json, or stdin; idempotent on source + externalId

fish labeler tasks push [options]
OptionDefaultDescription
--file <path>Read JSON from a file
--json <json>Inline JSON
--project <id>Default projectId for items that omit one
--labeler <emailOrId>Default labeler for items that omit one
--format <format>tableOutput format: table or json
fish labeler tasks update

Update one task by ID

fish labeler tasks update [options] <id>
ArgumentKindDescription
<id>*required—
OptionDefaultDescription
--status <status>assigned | in_progress | done | rejected
--title <title>New title
--quantity <n>Units of work
--duration <seconds>Duration in seconds
--labeler <emailOrId>Reassign to another labeler
--completed-at <date>Completion time (ISO); "null" clears it
--format <format>tableOutput format: table or json
fish labeler log-time

Log a block of time on behalf of a labeler

fish labeler log-time [options]
OptionDefaultDescription
--project <id>*Labeler project ID
--labeler <emailOrId>*Labeler email or user ID
--minutes <n>Duration in minutes
--seconds <n>Duration in seconds
--started-at <date>When the block started (ISO); default: ends now
--note <text>Description
--format <format>tableOutput format: table or json
fish labeler log-units

Log completed units on behalf of a labeler

fish labeler log-units [options]
OptionDefaultDescription
--project <id>*Labeler project ID
--labeler <emailOrId>*Labeler email or user ID
--quantity <n>*Units completed
--at <date>When (ISO); default now
--note <text>Note
--format <format>tableOutput format: table or json

fish calendar

fish calendaralias: due

What's due in a time frame — tasks, project target dates, deal closes, quote expirations and more

fish calendar [options]
OptionDefaultDescription
--days <n>Days from today to cover, including today (default 14; negative looks back)
--start <date>Start date (YYYY-MM-DD, default today)
--end <date>End date, inclusive (YYYY-MM-DD). Use --end or --days, not both
--type <types>Only these types (repeatable or comma-separated): tasks, targets, deals, quotes, interviews, questionnaires, milestones, events
--project <names>Only these projects — board or roadmap names/IDs, partial names match (repeatable or comma-separated)
--completedInclude finished tasks and completed roadmap projects
--timezone <zone>IANA time zone deciding what "today" is (default: this machine's)
--limit <n>Maximum items (default 200, max 500)
--format <format>tableOutput format: table or json

fish members

fish members

List team members you can assign work to (active members only)

fish members [options]
OptionDefaultDescription
--allInclude deactivated members, marked inactive
--format <format>tableOutput format: table or json

fish hubspot

fish hubspot

HubSpot companies and contacts linked to tasks, roadmap projects and River pages (needs HubSpot connected; nothing is written to HubSpot)

Generated from the CLI's own command definitions (fishladder v0.19.0).