
microsoft / fabric-cli
✓ Official★ 149A skill package that teaches your agent 2 capabilities — every one documented and browsable below, no GitHub required · by microsoft.
Each skill below is one capability this package teaches your agent. Install the whole package, or open a skill to install just that one.
Use Microsoft Fabric CLI (fab) to manage workspaces, semantic models, reports, notebooks, and Fabric resources. Activate when users mention fab, Fabric CLI, or…
14 files — installable on its own
Use Fabric CLI for Power BI operations — semantic models, reports, DAX queries, refresh, gateways. Activate when users work with Power BI items, need to…
12 files — installable on its own
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-name>.Workspace/<item-name>.<item-type> # 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 itemsmkdir,rm,mv,cp- Create, delete, move, and copy itemsexists,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-cliUpgrade existing installation
pip install --upgrade ms-fabric-cliVerify installation
fab --version🔐 Authentication
Interactive Login
fab auth login
# Select: "Interactive with a web browser"Service Principal
fab auth login -u <client_id> -p <client_secret> --tenant <tenant_id>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 pwdWorking 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.jsonOneLake 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 -lJob 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 <job-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/SalesDataAPI 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_lineCommon 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 | Complete command documentation |
| Usage Examples | Real-world scenarios and scripts |
| API Integration | Direct REST API access patterns |
| CI/CD Integration | GitHub Actions and Azure Pipelines |
| 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
- Check existing issues - Look for issues labeled
help-wanted - Read our guidelines - See CONTRIBUTING.md for detailed instructions
- Fork and clone - Set up your development environment
- Create a pull request - Link it to the related issue
Before contributing, please review our Contributing Guidelines and Code of Conduct.
🆘 Support & Community
Getting Help
- GitHub Issues - Bug reports and feature requests
- GitHub Discussions - Questions and community support
- Documentation - Comprehensive guides and examples
- Microsoft Community - Connect with other Fabric developers
Feature Requests
- GitHub Issues - Technical feature requests
- Fabric Ideas Portal - Product-level feature suggestions
Enterprise Support
- Contact your Microsoft account manager
- Microsoft Fabric Support - Official Microsoft support
🔄 Release Notes
See the full Release Notes for detailed changelog.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
🏢 Microsoft Open Source
This project is part of Microsoft's commitment to open source. We follow Microsoft's Open Source Code of Conduct.
For questions or concerns, contact opencode@microsoft.com.
<div align="center"> <p><strong>Explore, Automate, and Build with Microsoft Fabric CLI</strong></p> <p> <a href="https://microsoft.github.io/fabric-cli/">📖 Documentation</a> • <a href="https://github.com/microsoft/fabric-cli/issues">🐛 Report Bug</a> • <a href="https://github.com/microsoft/fabric-cli/discussions">💬 Discuss</a> • <a href="https://ideas.fabric.microsoft.com/">💡 Request Feature</a> </p> </div>
Install the whole package (2 skills):
npx skills add https://github.com/microsoft/fabric-cliOr install a single skill:
npx skills add https://github.com/microsoft/fabric-cli --skill <name>Pick the skill name from the Skills tab — each entry there installs independently.