All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
4.8.0 (2026-04-23)
- Add
--raw-jsonflag and fix--jsonoutput (#669) (ee6d61d) - Add support for
Box Hub Collaborationsendpoints (#668) (543cd60) - Add support for
Box Hub Documentendpoints (#667) (2b21328) - Add support for
Box Hub Itemsendpoints (#665) (0f46680) - Add support for
Box Hubsendpoints (#664) (681b312)
4.7.0 (2026-03-26)
- Mask client secret in configure environments command (#654) (ba62245)
- Secure OAuth callback handling (#653) (307d181)
4.6.0 (2026-03-17)
- Add
--overwriteflag tofiles:uploadcommand (#637) (6231663) - Add support for Box Official App in login command (#638) (bcd6835)
- Improve developer and agent experience in
boxclicommands (#643) (fbc817f) - Improve login prompt (#642) (a58ff34)
- Store access token encrypted in secure storage (#639) (bed6db3)
- Support logout command (#635) (842e308)
- Unify secure storage backend across platforms (#647) (6b2ed36)
- Fix encoding for example scripts on Windows (#613) (0265e2a)
- fix help commands (#611) (7aec97b)
- Normalize inquirer
signal-exitcompatibility on Windows (#645) (310b2f6)
4.5.0 (2025-11-20)
4.4.1 (2025-10-21)
4.4.0 (2025-10-14)
4.3.1 (2025-09-29)
4.3.0 (2025-08-07)
- Fix support metadata query array (#583) (112db16)
- Remove
descriptionflag from folders:create command (#587) (adca76b)
4.2.0 (2025-06-20)
- Setup proxy for Box CLI with TS SDK (#577) (ec42077)
- Support
owned-byflag when moving folder (#580) (2ec8e7f) - Support integration mappings for Teams (#579) (163a367)
- Support metadata query with array (#581) (6750708)
4.1.0 (2025-05-15)
4.0.1 (2025-03-07)
4.0.0 (2025-01-28)
- Incognito browser option for box login (#561) (a666766)
- Replace
@oclif/commandto@oclif/corelibrary (#553) (aed470b)
3.16.0 (2024-11-25)
3.15.0 (2024-08-06)
3.14.1 (2024-06-06)
- Fix bulk action in
searchcommand (#528) (782b0e6) - Fix bulk operation for
sign-requests:createcommand (#531) (6d9cd6b)
3.14.0 (2024-03-06)
- Add support for
vanity_namewhen creatingshared-links(#524) (38164bc) - Support sign request signer group ID (#521) (f7b1b44)
3.13.0 (2024-02-22)
- Add additional
UseDisplayNameflag to metadata extraction script (#515) (b900fdb) - Add additional context info when throw exception (#519) (b99a58d)
- Support overwrite/skip folder download (#516) (300f914)
- Fix metadata extraction script (#514) (2fad540)
- Fix the functionality of the overwrite flag (#513) (f4bf7af)
3.12.2 (2023-11-08)
3.12.1 (2023-11-06)
3.12.0 (2023-09-18)
3.11.0 (2023-09-05)
3.10.0 (2023-08-16)
3.9.2 (2023-08-08)
3.9.1 (2023-07-19)
3.9.0 (2023-06-02)
- add
max-items, improve list endpoints performance (#470) (8f386f3) - Add support for Integration Mappings API (#472) (bbf2548)
- New fields in
retention-policyandretention-policy-assignment(#466) (f960e59)
3.8.0 (2023-03-03)
- add alias for metadata cascade policy create (#460) (8d2f683)
- Add support for
--reauthorizeflag in login command (#457) (f653a0d)
- Fix
keychainaccess by bumpingkeychainlibrary to1.4.0(#459) (56919ce) - Fix unit tests (#456) (f89d9ef)
3.7.0 (2023-01-19)
- Add more flags for folder update collaborators (#438) (83ac6d7)
- Add support session termination (#446) (aef15a8)
- Fix delete token cache from disk (#445) (aafb68a)
- Fix metadata template update when adding multiple options to enum (#442) (8779eec)
- single file upload on Node 16 (#441) (d94ab35)
3.6.0 (2022-11-22)
- Add
idandtypefield to shared-links:create response (#427) (5ea4cb8) - Add fields disposition_at field for files under retention (#429) (db824ef)
3.5.0 (2022-11-02)
- Add option to change name of downloaded file in
save-asparameter (#415) (81fe64e) - Add support for modifiable retention policies & enable deleting retention policy assignment (#420) (26ab5b4)
3.4.0 (2022-09-26)
- Add
DryRunmode inUser Deprovisionexample script (#392) (584a30e) - Add
redirect_urlanddeclined_redirect_urlto Sign Request (#395) (261b7d2) - Add progress bar for file download and bulk command (#376) (68359c7)
- create destination path during download (#393) (40881dd)
- native credentials storage for Windows with a new library (#385) (a6918aa)
- correctly resolve home dir in folders download (#398) (86d3230)
- Fix logs in
Users Deprovisioningscript (#381) (c85f77b) - Fix problem with
keytarlibrary (#394) (1979f01)
- To migrate storing Box CLI environments to the system credential storage, execute the following command in the terminal (#295):
box configure:environments:update
3.3.2 (2022-07-29)
3.3.1 (2022-07-25)
3.3.0 (2022-07-19)
- add editable shared link support (#350) (ab639e7)
- add file requests api support (#355) (73f0490)
- add possibility to set custom analytics header (#348) (5a3387f)
- Support --copy-instance-on-item-copy flag for update metadata template (#357) (5d8272a)
- support Client Credentials Grant as authentication method (#335) (4649d8a)
3.2.0 (2022-06-30)
3.1.0 (2022-06-17)
- Add --all flag for search to return all results (#336) (23ea0a5)
- add unique state parameter to OAuth2 login (#292) (5ce6a40)
- allow changing base URLs (#303) (e284059)
- obtain
oauthauthorization from commandline (#299) (18c88bb) - use native credential storage for MacOS and Windows (#295) (74c4922)
users:transfer-contentto respect quiet flag (#288) (1d0bbab)- correctly pass
copy-instance-on-item-copyflag (#285) (cd4fbf4) - Fix updating webhook triggers (#297) (09e94c3)
- support large output when using
jsonflag by replacingjson.stringify(#328) (1204f2c) - Support limit flag for Box Search (#323) (0009a77), closes #322
- Support OAuth with multiple redirect URIs (#302) (9fe216e)
3.0.0 (2022-01-27)
- Drop support for Node 10
- Insensitive language changes (#247, #252)
- Add support for login with OAuth (#240)
- feat: support as-user flag for bulk files and when token is present (#270)
- Add support for copyInstanceOnItemCopy field for metadata templates (#239)
- Add support note to the mdfilter equality check in search (#253)
- Add support for Box Sign API (#258)
- Add support Metadata Query API (#259)
- fix: folder:collaborations:add make role a required flag (SDK-1070) (#261)
- Minor dependencies upgrade
- Add new API for files and file versions under retention (#250)
- Adding support for sign request (#258)
- Support Metadata Query API (#259)
- chore: enforce conventional commits (#268)
- feat: support as-user flag for bulk files and when token is present (#270)
- fix: folder:collaborations:add make role a required flag (#261)
- fix: Fixed shared-links delete example. (#262)
2.9.0 (2021-02-22)
- Add ability to add an option to a metadata template multi select field (#230)
- Add folder lock functionality (#232)
- Add support for search param to get shared link items (#233)
- Fix events command bug when there is no stream position flag (#234)
2.8.0 (2020-12-03)
- Due to the changes in (#217), additional details about Box Items may now be returned for some commands.
- Output contents of array for bulk commands (#217)
- Fix bug with setting proxy settings (#218)
2.7.0 (2020-11-02)
- Make commands
collaborations:add,shared-links:update,shared-links:delete,users:searchthat were previously hidden, now available (#211) - Add
filter_termparameter togroups:list(#210)
- Fix bug with setting proxy settings (#213)
2.6.0 [2020-08-20]
- Fix filename issue when saving reports on Windows
- Add proxy support for
http,https,socksandpacprotocols. Proxy settings can be found underbox configure:settings - Add zip functionality
2.5.1 [2020-04-14]
- Added
--quietflag to suppress any non-error output to stderr - Fixed a bug for the
--restrict-collaborationflag forbox folders:updatewhere previously the flag would not restrict the collaborations when passed as true and would restrict collaborations when passed as false - Added
box trash:restoreto restore a trashed item andbox trash:getto get information on a trashed item - Fixed a bug where flags that can be specified multiple times in a single command could not be passed through the command line for bulk commands
- Note: Skipped version 2.5.0 due to development of new release process
2.4.0 [2019-08-29]
- Fixed an issue where the CSV formatting of commands that return multiple different object types (e.g
box files:metadata:listandbox search) would only include the columns from the first object in the result set. These commands now output the full set of columns across all objects in the result set. - Added a success message to
box collaborations:updatewhen setting--role=owner; previously the command would outputundefined. - Added support for setting external App User IDs in the
box users:createandbox users:updatecommands with the--external-idflag
2.3.0 [2019-05-23]
- Added
--confirmflag to thebox users:email-aliases:addcommand to automatically confirm the email alias - Added
--restrict-to-enterpriseflag to thebox folders:updatecommand to restrict collaboration on the folder to the owner's enterprise - Fixed a bug in the
box folders:updatecommand where the--upload-email-accessflag would not correctly set the folder upload email access level
2.2.0 [2019-04-30]
- Added
--sortand--directionflags tobox searchto control the sort order of the search results - Fixed
box collections:addto work correctly withweb_linkitems - Fixed an issue where some commands including
box folders:collaborations:addcould incorrectly interpret bulk input entries and produce unintended API requests - Added
box folders:metadata:setandbox files:metadata:setcommands to apply metadata keys and values, overwriting existing metadata under those keys - Errors encountered during bulk input are now caught within the CLI, skipping that entry and continuing bulk input. The CLI should now run all bulk input entries to completion and report entries that produced errors after all entries have been processed.
2.1.0 [2019-03-28]
- Fixed an issue where the
--fieldsflag was not always requesting additional fields from the API - Fixed the
--event-typesflag for thebox eventsandbox events:pollcommands - Updated to
[email protected]to address a potential prototype pollution vulnerability - Fixed paging in both the
box eventsandbox events:pollcommands:- The
box eventscommand now requires either a closed date range (defaults to last five days), or a stream position. If given a date range, all events in that range will be returned. If given a stream position, up tolimitevents will be returned along with the next stream position box events:pollnow correctly polls for new events
- The
2.0.0 [2018-12-13]
- Full API parity: The new version of the CLI supports all available API endpoints and parameters
- Recursive folder upload and download: Uploading or downloading a folder now preserves the entire deep folder structure
- Expanded human-readable output: All object fields returned by the API are now displayed by default, and can be
controlled with
--fields. All commands that output collections of objects no longer require interactive key presses to view all objects. - More output options for bulk commands: Bulk commands no longer require output to be written to disk, and can output JSON, CSV, or human-readable output directly to stdout or to any file.
- More flexible date/time input: Date-times can now be specified in UNIX epoch format (e.g.
1535336043), with a year offset shorthand (e.g.-1yfor "one year ago"), and as a combination of offset shorthands (e.g.-5h30mfor "5 minutes and 30 seconds ago") - All commands now accept bulk input: Every command can now accept its arguments and flags from a file input in either CSV or JSON format! There is also no more need for CSV templates, since the column names are the same as the CLI's own args and flags (case-insensitive). Looking at the help for a command should tell you everything you need to know to run the command in bulk
- All commands can now save output to disk: Every command now allows passing the
--saveand--save-to-file-pathflags to save the output to disk. The output written will respect the--jsonand--csvflags for specifying output format, otherwise it will use the file format in the CLI settings. - Custom API calls: The new
box requestcommand allows making any API call against the Box API, and can be used to pass arbitrary URLs and parameters - Per-environment token caching enabled by default: To improve performance when running multiple commands, each
environment now caches the primary Service Account tokens by default. This can be disabled by running
box configure:environments:update --no-cache-tokens - Command correction and autocomplete: If you mis-type a command, you will now be prompted if there is an available
correction; selecting "yes" at the prompt will run the corrected command for you. There is also now a
box autocompletecommand, which will help you set up autocompletion (currently available only in bash and zsh shells) - User-friendly prompts: Some commands (e.g.
box configure:environments:select) can now be called without providing the necessary arguments; in this case, the command will display a helpful prompt to allow selecting the argument value. - Re-organized command hierarchy: We've renamed and reorganized many of the commands in the CLI to clarify the
inputs they take and reduce unnecessary subcommand nesting. In some cases, this drastically reduces the length of
the command. For example,
box files:shared-links:createis nowbox files:share— 14 characters shorter! Most commands that were previously available asxyzs:listare now justxyzs; for example,box folders collaborations listis nowbox folders:collaborations - Download commands can download to a specified location on disk: Pass the
--destinationflag to have the files or folders download to any location
- The
box files:metadata:*,box folders:metadata:*, andbox metadata-templates:*command interfaces have changed; please run the commands with--helpfor more details - All
box sessionscommands have been removed; usebox configure:environments:switch-user [USER_ID]to switch between users. - All
box configure settingssubcommands have been removed; these settings can be set by passing the appropriate flag(s) tobox configure:settings box files shared-links get [fileID]is replaced bybox files:get [fileID] --fields=shared_link(output format differs)box folders shared-links get [folderID]is replaced bybox folders:get [folderID] --fields=shared_link(output format differs)box folders change-upload-email [folderID] [access]is replaced bybox folders:update [folderID] --upload-email-access=[access](output format differs)box storage-policies assignments add [userID] [policyID]is replaced bybox storage-policies:assign [policyID] [userID](same functionality, may make more API calls)box storage-policies assignments update [assignmentID] [policyID]is deprecated in favor ofbox storage-policies:assign [policyID] [userID]box users change-primary-email [userID] [email]is replaced bybox users:update [userID] --login=[email](output format differs)- The
--list-members flaghas been removed from thebox groups:membership:listcommand; this is now the default behavior of the command and does not need to be specified via flag. - The
--list-groupsflag onbox groups:membership:listhas been removed; this functionality is now found in thebox users:groupscommand. - The
--list-collaborationsflag onbox groups:membership:listhas been removed; this functionality is now found in thebox groups:collaborationscommand. - Multi-word collaboration roles specified via the
-r|--roleflag inbox collaborations:addand similar commands are now separated by an underscore (e.gviewer_uploader) instead of a space. This should make it easier to work with these commands without needing to quote the flag value. - The
-y|--yesflag has been removed from some commands; deletions of users, folders, files, etc will no longer prompt to confirm that the item should be deleted. - The
-m|--multiflag has been removed frombox files:downloadandbox folders:downloadsince these commands now accept bulk input via CSV. - The
--id-onlyflag has been removed frombox folders:move, since a folder move within a user's account should not change the folder ID. - The
--parent-folder-idflag has been removed from thebox folders:updatecommand; users should usebox folders:moveinstead. - The
--shared-link-*flags have been removed from thebox folders:updatecommand; users should usebox folders:shareinstead. - The
--sync-disableflag onbox users:createandbox users:updateis now called--no-sync-enable - The
--is-exempt-from-device-limitsflag onbox users:createandbox users:updateis now called--exempt-from-device-limits - The
--not-exempt-from-device-limitsflag onbox users:createandbox users:updateis now called--no-exempt-from-device-limits - The
--is-exempt-login-verificationflag onbox users:createandbox users:updateis now called--exempt-from-2fa - The
--not-exempt-login-verificationflag onbox users:createandbox users:updateis now called--no-exempt-from-2fa - The
--parent-folderflag onbox files:uploadis now called--parent-idfor consistency with other commands - The
box storage-policies:assigncommand no longer takes two arguments (a type and ID), and instead now takes one argument (the ID) and has a--typeflag with default value "user" to make the command easier to run for common use cases - The
box webhooks:createcommand no longer takes four arguments (target type, target ID, triggers, and URL), but instead now takes two arguments (the target type and ID) and has two new flags:--triggersand--addressto make it easier to specify without needing to remember the argument order - The
--limitflag onbox users:listandbox collaborations:list-for-grouphas been removed; all results will be returned by default - The short code for the
box users:create --statusflag was changed from-sto-Sto disambiguate from the global--saveflag - The short code for the
box webhooks:update --triggersflag was changed from-tto-Tto disambiguate from the global--tokenflag - The bulk input file format for
box collaborations:addhas changed; see--helpfor more details
- The
--jsonflag in the search command works correctly now - Windows absolute paths without the drive letter (e.g.
\MyFolder\file.pdf) now work correctly - Uploading files over 4 GB in size now works correctly
- Listing the items in a folder with more than 300,000 items should no longer fail with an invalid offset error
- Fixed bug preventing removal of a user from an Enterprise and conversion to a free user account.
- Fixed bug that returned incorrect total count when using
box list users -mto only list managed users. - Added CreatedAt field to CSV output for events.
- Removed SyncState from CSV for creating folders.
- Enabled setting a description for a folder when creating the folder.
- Added new feature on all commands for using an individual token. Add the
--tokenoption to perform an individual command with the Box CLI using a specific token you provide. The feature is most useful when paired with the Developer Token you can generate through the Box Developer Console. When working with an application you create in the Box Developer Console, you will not need to authorize the application into a Box Enterprise before working with the Developer Token. For example usage:box users get me --token <token_string>. Certain commands may fail based on the permissions of the user to which the token you use belongs. - Fixed a bug preventing
previewerbeing used when adding or updating a collaboration. - Added the following commands:
box collaborations delete,box folders collaborations delete,box files collaborations delete. - Improved error messaging for failure on registering a configuration file and private key file with the Box CLI when creating a new CLI
environment. - Added
--disable-file-path-translationto the following commands:box configure environments add,box configure environments update-config-file-path,box configure environments update-private-key-path. This option ignores any additional processing on trying to resolve the file paths you provide when creating and updating Box CLIenvironments. - Fixed visual bug with upload progress tracker.
- Updated Box .Net SDK to v3.3.0.
- Changed Box CLI output to JSON by default with no existing
.boxdirectory.
- Added shared link commands for Create, Get, Update, and Delete. Located as standalone commands under
box shared-linksas well as underbox folders shared-linksandbox files shared-links. - Fixed UTF-8 issue obscuring characters when saving CSV reports.
- Added autopaging for events and fixed faulty event Get command.
- Added date options
wfor weeks andnowwhen using date options with commands.
- Fixed minor bug preventing --name, --description, and --etag options from working on the
box folders updatecommand - Added a
box folders renamecommand.
- Welcome to the Box CLI!