Skip to content

Releases: Cluas/slackctl

v0.2.1

Choose a tag to compare

@github-actions github-actions released this 04 Jun 06:51
d758e5f

Changelog

  • d758e5f Merge pull request #2 from Cluas/feat/windows-linux-support
  • eb68364 feat: cross-platform builds, credential reading, and Scoop install

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 03 Jun 11:44
d758e5f

Changelog

  • d758e5f Merge pull request #2 from Cluas/feat/windows-linux-support
  • eb68364 feat: cross-platform builds, credential reading, and Scoop install

v0.1.9

Choose a tag to compare

@Cluas Cluas released this 14 Apr 04:53

What's New

File Management Commands

New slackctl file subcommand group with full file CRUD operations:

  • file upload — Upload files/images to channels or threads using Slack V2 API. Supports stdin piping (-).
  • file download — Download files with authenticated requests. --url-only for metadata only.
  • file list — List files with --channel, --user, --types filters and pagination.
  • file info — Get detailed file metadata.
  • file delete — Delete files.

Examples

# Upload a file to a channel
slackctl file upload ./report.pdf "#general" --title "Report" --message "Weekly report"

# Pipe from stdin
cat output.log | slackctl file upload - "#ops" --filename "build.log"

# Download a file
slackctl file download F0123ABC --output ./downloaded.png

# List images in a channel
slackctl file list --channel "#general" --types images --limit 10

v0.1.8

Choose a tag to compare

@github-actions github-actions released this 20 Mar 06:52

Changelog

  • 640c565 docs: update skill with unread messages capability
  • 78f66ae fix: auto-fallback to enterprise URL for unread command

v0.1.7

Choose a tag to compare

@github-actions github-actions released this 20 Mar 06:13

What's New

Unread Messages

  • New slackctl message unread command to list channels with unread messages
  • --fetch flag to retrieve actual unread message content
  • --max-per-channel controls how many messages per channel
  • Uses client.counts API for accurate unread counts

Chrome Import Without AppleScript

  • Chrome import now reads Cookie DB + LevelDB directly — no AppleScript required
  • Falls back to AppleScript only if DB method fails
  • Works on macOS, Linux, and Windows
  • Multi-profile support (Default, Profile 1-10)

Enterprise Grid Fixes

  • Auto-fix enterprise URL default on every import (no manual set-default needed)
  • Browser-imported tokens route API requests through enterprise URL (matching real browser behavior)

Better Error Messages

  • Chrome/Brave import shows actionable error when AppleScript Automation permission is denied
  • Suggests alternative import methods (import-desktop, parse-curl)

Upgrade

brew upgrade slackctl

Usage

# List unread channels
slackctl message unread --workspace longbridge-group

# With message content
slackctl message unread --workspace longbridge-group --fetch --max-per-channel 5

v0.1.6

Choose a tag to compare

@github-actions github-actions released this 20 Mar 06:01

Changelog

  • 291c055 feat: Chrome import via direct DB read, no AppleScript required

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 20 Mar 05:30

Changelog

  • eaf7717 fix: auto-fix enterprise URL default on every import
  • f2fdda2 fix: show actionable error when AppleScript automation is denied

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 20 Mar 04:42

What's New

TLS Fingerprint Spoofing

  • Uses uTLS to mimic real Chrome/Electron TLS handshakes
  • Slack Desktop sessions are no longer kicked when using import-desktop tokens

Enterprise Grid Support

  • parse-curl now handles enterprise URLs (xxx.enterprise.slack.com)
  • import-desktop auto-selects a non-enterprise workspace URL as default
  • Auto-resolve on enterprise_is_restricted errors

Debug Logging

  • New -V / --verbose flag for request/response debug output

Bug Fixes

  • Fix percent-encoded cookies causing double-encoding
  • Fix const version not injectable via ldflags
  • Apply browser fingerprint headers to all request paths
  • Match request headers to auth source (Desktop/Chrome/Firefox/Brave)

Workaround for v0.1.3 Users (Enterprise Grid)

slackctl auth import-desktop
slackctl auth set-default https://your-workspace.slack.com

v0.1.3

Choose a tag to compare

@github-actions github-actions released this 19 Mar 16:51

Changelog

  • 349c475 feat: match request headers to auth source to avoid Slack detection
  • 2aac73f fix: apply source headers to all request paths

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 19 Mar 16:28

Changelog

  • 4a5a44d fix: decode percent-encoded cookies before storage
  • 997fab1 fix: use var for version to allow ldflags injection, remove unused code