microsoft/fabric-cli
Python
Captured source
source ↗microsoft/fabric-cli
Description: ⚡ Microsoft Fabric CLI
Language: Python
License: MIT
Stars: 143
Forks: 51
Open issues: 32
Created: 2025-07-01T08:27:13Z
Pushed: 2026-06-21T07:00:25Z
Default branch: main
Fork: no
Archived: no
README:
Microsoft Fabric CLI

The Microsoft Fabric CLI (fab) is a powerful, file-system-inspired command-line interface for Microsoft Fabric. Explore, automate, and script your Fabric environment directly from your terminal with familiar commands like ls, cd, mkdir, cp, and more.
🚀 Quick Start
# Install the CLI pip install ms-fabric-cli # Authenticate fab auth login # Start exploring fab ls # List workspaces fab get .Workspace/. # Get item properties (e.g., ws1.Workspace/nb1.Notebook)
✨ Key Features
🗂️ File-System Navigation
Navigate Microsoft Fabric like your local file system with intuitive commands:
- `ls`, `cd`, `pwd` - Navigate workspaces and items
- `mkdir`, `rm`, `mv`, `cp` - Create, delete, move, and copy items
- `exists`, `open` - Check existence and open items in the Fabric portal
🔄 Data & Item Management
- Import/Export items with
importandexportcommands - OneLake file operations - Upload, download, and manage files
- Table operations - Load data, optimize tables, manage schemas
- Shortcut management - Create and manage OneLake shortcuts
🤖 Automation Ready
- Scripting mode - Perfect for CI/CD pipelines and automation
- Interactive mode - Live shell experience for exploration
- Job management - Run, schedule, and monitor Fabric jobs
- API access - Direct REST API calls with authentication handled
🔐 Flexible Authentication
- Interactive login - Browser-based authentication
- Service Principal - Client secrets, certificates, and federated tokens
- Managed Identity - System and user-assigned identities
- Environment variables - Headless authentication for automation
🌐 Cross-Platform Support
- Windows, macOS, Linux - Native support across all platforms
- Multiple shells - PowerShell, Bash, Zsh, and more
- Shell completion - Autocomplete for commands and arguments (in command-line mode)
📦 Installation
Prerequisites
- Python 3.10, 3.11, 3.12, or 3.13
- A Microsoft Fabric account with access to your tenant/workspaces.
Install via pip
pip install ms-fabric-cli
Upgrade existing installation
pip install --upgrade ms-fabric-cli
Verify installation
fab --version
🔐 Authentication
Interactive Login
fab auth login # Select: "Interactive with a web browser"
Service Principal
fab auth login -u -p --tenant
The CLI supports additional authentication methods including certificates, managed identity, and environment variables. See the authentication documentation) for complete details.
🎯 Usage Examples
Basic Navigation
# List all workspaces fab ls # Navigate to a workspace fab cd "Sales Analytics.workspace" # List items in current workspace fab ls -l # Get current location fab pwd
Working with Items
# Create a new notebook fab mkdir MyNotebook.notebook # Copy an item between workspaces fab cp notebook1.notebook /TargetWorkspace.workspace/ # Export an item definition fab export MyReport.report -o ./backup/ # Import an item fab import NewNotebook.notebook -i ./definitions/notebook.json
OneLake File Operations
# Navigate to lakehouse files fab cd MyLakehouse.lakehouse/Files # Upload a file fab cp ./local-data.csv ./remote-data.csv # Download files fab cp ./remote-data.csv ~/Downloads/ # List files with details fab ls -l
Job Management
# Run a notebook synchronously fab job run MyNotebook.notebook # Schedule a pipeline fab job run-sch MyPipeline.datapipeline --type daily --interval "09:00" # Check job status fab job run-status MyNotebook.notebook --id
Table Operations
# Load CSV data into a table fab table load Tables/SalesData --file Files/sales.csv --mode append # Optimize a table fab table optimize Tables/SalesData --vorder --zorder ProductID,Date # View table schema fab table schema Tables/SalesData
API Integration
# Make authenticated API calls fab api workspaces # Query with JMESPath fab api workspaces -q "value[?name=='MyWorkspace']" # POST request with data fab api capacities -X POST -i capacity-config.json
🔧 Configuration
Interactive vs Command-Line Mode
# Switch to interactive mode fab config set mode interactive fab auth login # Re-authenticate for interactive mode # Switch back to command-line mode fab config set mode command_line
Common Settings
# Enable debug logging fab config set debug_enabled true # Set default capacity fab config set default_capacity "My Capacity" # Configure output sorting fab config set output_item_sort_criteria bytype # View all settings fab config ls
📚 Documentation
| Resource | Description | |----------|-------------| | [Command Reference](https://microsoft.github.io/fabric-cli/commands/) | Complete command documentation | | [Usage Examples](https://microsoft.github.io/fabric-cli/examples/) | Real-world scenarios and scripts | | [API Integration](https://microsoft.github.io/fabric-cli/commands/api/) | Direct REST API access patterns | | [CI/CD Integration](https://microsoft.github.io/fabric-cli/examples/#cicd-integration) | GitHub Actions and Azure Pipelines | | [Settings](https://microsoft.github.io/fabric-cli/essentials/settings/) | CLI Configuration |
🤝 Contributing
We welcome contributions from the community! Whether you're fixing bugs, adding features, improving documentation, or helping other users, your contributions are valuable.
Quick Start Contributing
1. Check existing issues - Look for issues labeled help-wanted 2. Read our guidelines - See [CONTRIBUTING.md](CONTRIBUTING.md) for detailed instructions 3. Fork and clone - Set up your development environment 4. Create a pull request - Link it to the related issue
Before contributing, please review our [Contributing Guidelines](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md).
🆘 Support &...
Excerpt shown — open the source for the full document.
Notability
notability 5.0/10New CLI tool from Microsoft, moderate stars.