Releases: Cluas/slackctl
Releases · Cluas/slackctl
Release list
v0.2.1
v0.2.0
v0.1.9
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-onlyfor metadata only.file list— List files with--channel,--user,--typesfilters 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 10v0.1.8
v0.1.7
What's New
Unread Messages
- New
slackctl message unreadcommand to list channels with unread messages --fetchflag to retrieve actual unread message content--max-per-channelcontrols how many messages per channel- Uses
client.countsAPI 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-defaultneeded) - 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 5v0.1.6
Changelog
- 291c055 feat: Chrome import via direct DB read, no AppleScript required
v0.1.5
v0.1.4
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-desktoptokens
Enterprise Grid Support
parse-curlnow handles enterprise URLs (xxx.enterprise.slack.com)import-desktopauto-selects a non-enterprise workspace URL as default- Auto-resolve on
enterprise_is_restrictederrors
Debug Logging
- New
-V/--verboseflag for request/response debug output
Bug Fixes
- Fix percent-encoded cookies causing double-encoding
- Fix
constversion 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