Intro to Claude Code
Use Claude Code to build a script that auto-organizes your Downloads folder.
Introduction
30 Second Summary
Your Downloads folder is probably a mess. Screenshots mixed with PDFs, old installers buried under vacation photos, and files you forgot you even downloaded.
In this project, you will use Claude Code to build a tool that automatically sorts your Downloads folder into neat subfolders by file type. You will not write a single line of code yourself.
What You'll Build
A file organizer script that scans your Downloads folder and instantly moves every file into categorized subfolders like Images, Documents, Videos, and more.
By the end of this project, you'll have:
- A working Python script that organizes your Downloads folder into subfolders by file type.
- Hands-on experience with the full Claude Code workflow: prompt, review, approve, and run.
- An improved version of the script with smarter features like duplicate handling and a summary log.
- Secret Mission: Build a second tool with Claude Code entirely on your own.
Do I need coding experience?
No. This project requires zero coding experience. You will describe what you want in plain English, and Claude Code builds it for you. The only requirement is a Claude Pro, Max, or Console account (the free Claude.ai plan does not include Claude Code access).
Get Access to Claude Code
Claude Code is a tool that lives inside your terminal. You type what you want in plain English, and it writes code, creates files, and runs commands for you.
To use it, you need two things: an account that gives you access, and the Claude Code CLI installed on your computer. This step gets both set up.
In this step, get ready to:
- Sign up for a Claude account (Pro, Max, or Console).
- Install the Claude Code CLI on your computer.
- Verify the installation and log in.
Choose your Claude Code access method
Claude Code requires a paid account. The free Claude.ai plan does not include Claude Code access. Pick the option that suits your situation and complete the sign-up process.
Claude Pro ($20/month)
The most popular choice for individuals getting started. You get a monthly subscription with included Claude Code usage.
- Go to claude.ai/upgrade.
- Sign up for the Pro plan.
- Complete the payment process.
Claude Max ($100/month)
A higher-usage tier for power users who need more Claude Code capacity. Available at $100/month or $200/month.
- Go to claude.ai/upgrade.
- Sign up for the Max plan.
- Complete the payment process.
Console API (pay-as-you-go)
Pay only for what you use with no monthly subscription. This project will cost well under $1.
- Go to console.anthropic.com.
- Create an account.
- Add API credits (minimum $5).
Install Claude Code on your computer
Claude Code runs inside a terminal. You will paste an install command, and it will download everything it needs automatically.
- Press Cmd+Space (macOS) or the Windows key (Windows) to open your search bar.
- Type Terminal (macOS/Linux) or PowerShell (Windows) and press Enter to open it.
What is a terminal?
A terminal is a text-based interface where you type commands instead of clicking buttons. It looks like a blank window with a blinking cursor. You will paste commands into it throughout this project.
- Install Claude Code by running the command for your operating system below:
macOS
- Paste this command into your terminal and press Enter:
curl -fsSL https://claude.ai/install.sh | bash
Already have Homebrew?
If you use Homebrew on macOS, you can alternatively run:
brew install --cask claude-code
Windows
- Make sure you are in PowerShell (your prompt starts with PS C:\). Paste this command and press Enter:
irm https://claude.ai/install.ps1 | iex
Using WinGet instead?
If you have WinGet available, you can alternatively run:
winget install Anthropic.ClaudeCode
💡 PowerShell or CMD?
Your prompt shows PS C:\ when you are in PowerShell and C:\ without the PS when you are in CMD. If you are in CMD instead, run this command:
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd
Linux
- Paste this command into your terminal and press Enter:
curl -fsSL https://claude.ai/install.sh | bash
Install command not working?
- Make sure you have an active internet connection.
- On macOS/Linux, if you see a permission error, try opening a new terminal window and running the command again.
- On Windows, if you see a message about the token && not being valid, you are in PowerShell. Use the PowerShell command instead.
- On Windows, if you see a message about irm not being recognized, you are in CMD. Use the CMD command instead.
help me install Claude Code on my computer
Verify the installation and log in
Now you will confirm Claude Code installed correctly, then log in so it can connect to your account.
- Open a new terminal window (close and reopen Terminal or PowerShell so your system picks up the new command).
- Check that Claude Code is installed by running this command:
claude --version
✔️ I see a version number
Claude Code is installed and ready. Continue to the login step below.
ⓧ Command not found
Your terminal cannot find the claude command. Try these fixes:
- Close your terminal completely and open a fresh window. The install added Claude Code to your system, but your current terminal session does not know about it yet.
- Run the install command from the previous substep again. Watch for any error messages during the install.
- If you are on macOS/Linux, try running source ~/.bashrc or source ~/.zshrc to reload your shell configuration.
help me fix claude command not found after installing Claude Code
- Start Claude Code and log in by running:
claude
A browser window will open asking you to log in. Use the same credentials from your Claude account (Pro or Max) or your Console account (API key).
- Complete the login in your browser and return to your terminal.
- You should see the Claude Code prompt (a > symbol waiting for your input) in your terminal. This means you are authenticated and ready.
What just happened?
Running claude for the first time opens a browser tab where you authenticate. Once approved, your terminal session is linked to your account. You will not need to log in again on this computer.
🙋♀️ Browser did not open?
- Check your terminal for a URL you can copy and paste into your browser manually.
- Make sure you are connected to the internet.
- If you see an authentication error, double-check that your account is on a Pro, Max, or Console plan. The free Claude.ai plan does not include Claude Code access.
help me log in to Claude Code
You are set up and authenticated. Next up, you will open your first Claude Code session and start building your Downloads folder organizer.
Start Your First Claude Code Session
Claude Code is installed and ready to go on your machine. Now you need a dedicated folder for your organizer project.
Claude Code works best when you start it inside a specific project folder. It uses that folder as context for everything it builds and runs.
In this step, get ready to:
- Create a project folder for your organizer tool.
- Start a Claude Code session inside that folder.
- Send your first message and learn how permissions work.
Create a project folder and start Claude Code
Every project you build with Claude Code lives inside its own folder. Starting Claude Code from within that folder tells it where to create files and run commands.
macOS
- Create the project folder by running this command:
mkdir ~/downloads-organizer
- Move into the new folder by running:
cd ~/downloads-organizer
- Start a Claude Code session by running:
claude
Windows
- Create the project folder by running this command:
mkdir $HOME\downloads-organizer
- Move into the new folder by running:
cd $HOME\downloads-organizer
- Start a Claude Code session by running:
claude
Linux
- Create the project folder by running this command:
mkdir ~/downloads-organizer
- Move into the new folder by running:
cd ~/downloads-organizer
- Start a Claude Code session by running:
claude
You should now see the Claude Code prompt (a > symbol) waiting for your input. This is where you type messages in plain English to tell Claude what to build.
Not seeing the Claude Code prompt?
Make sure you opened a new terminal window after installing Claude Code in Step 1. If you still see an error, run claude --version to confirm the installation is working.
Help me troubleshoot why Claude Code isn't starting in my terminal
Ask Claude Code a simple question
Claude Code responds to plain English. You can type anything from questions to full project descriptions, and it responds conversationally.
- Type the following at the Claude Code prompt and press Enter:
What can you help me build today?
Read Claude's response. This is how the entire tool works: you type in plain English, and Claude responds with ideas, code, or actions it can take for you.
What just happened?
You just had your first interaction with an AI coding agent. Unlike a chatbot in a browser, Claude Code runs directly in your terminal and can actually create files and execute commands on your computer.
Everything you build in this project follows this same pattern: describe what you want, review what Claude proposes, then approve it.
Understand how permissions work
Claude Code asks your permission before it does anything that changes your computer. This means you are always in control of what happens.
- Whenever Claude Code wants to create a file or run a command, it shows you exactly what it plans to do and waits for approval.
- Type y and press Enter to approve the action.
- Type n and press Enter to deny the action.
Why does Claude Code ask for permission?
Creating files and running commands can change things on your computer. The permission system ensures Claude Code never does anything without your explicit approval.
You will see these prompts throughout this project. You can always say no if something looks wrong.
Your project folder is set up and you know how to talk to Claude Code. Next up, you will ask Claude Code to build your Downloads folder organizer from scratch.
Ask Claude Code to Build Your Organizer
Your Claude Code session is live and ready to take instructions. Now it's time to put it to work building your Downloads folder organizer.
You'll describe what you want in plain English, review what Claude Code builds, and then preview the results before moving any files. The entire tool gets built through conversation.
In this step, get ready to:
- Prompt Claude Code to build a file organizer script.
- Review and approve the generated code.
- Request a dry-run preview to see what would happen before any files move.
Give Claude Code your request in plain English
Claude Code works best when you describe exactly what you want in natural language. The more specific your description, the better the result.
- Type this prompt at the Claude Code > prompt and press Enter:
Build me a Python script that organizes my Downloads folder. It should look at every file in my Downloads folder and move each file into a subfolder based on its type. For example, .jpg and .png files go into an "Images" folder, .pdf and .docx files go into a "Documents" folder, .xlsx files go into a "Spreadsheets" folder, .mp4 and .mov files go into a "Videos" folder, and anything else goes into an "Other" folder. The subfolders should be created inside the Downloads folder. Make it safe - don't move folders, only files.
What does this prompt ask for?
You're asking Claude Code to create a Python script that does five things: scans your Downloads folder, identifies each file's type by its extension, creates category subfolders, moves files into the matching subfolder, and leaves directories untouched.
You don't need to know Python to do this. Claude Code handles all the code for you.
Watch as Claude Code thinks through the problem and writes the script. This takes a few seconds.
Review what Claude Code produces
Claude Code will display the code it wants to write and explain what each part does. It then asks for your permission before creating the file.
- Read through Claude Code's explanation of the script.
- Check that the explanation mentions the file categories you asked for: Images, Documents, Spreadsheets, Videos, and Other.
- Confirm it mentions only moving files (not folders).
- When you're satisfied, type y and press Enter to approve the file creation.
What should I see?
After you approve, Claude Code creates a file called organize_downloads.py in your project folder. You'll see a confirmation message that the file has been written.
You don't need to understand every line of the code. Focus on whether the explanation matches your request.
💡 Your code might look slightly different
Claude Code may generate slightly different code each time. As long as it covers the five categories you asked for and only moves files (not folders), it's working correctly.
✔️ Awesome, I've got everything!
Great. Your organize_downloads.py file is ready for a test drive.
ⓧ I'd like to double check the full code
Here's what your organize_downloads.py should look like. Your version may differ slightly in comments or variable names, but the structure should be similar:
import os
import shutil
from pathlib import Path
# Define file categories and their extensions
CATEGORIES = {
"Images": [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".svg", ".webp", ".heic", ".tiff"],
"Documents": [".pdf", ".doc", ".docx", ".txt", ".rtf", ".odt", ".pages"],
"Spreadsheets": [".xlsx", ".xls", ".csv", ".numbers", ".ods"],
"Videos": [".mp4", ".mov", ".avi", ".mkv", ".wmv", ".flv", ".webm"],
"Other": [],
}
def get_category(file_extension):
"""Determine which category a file belongs to based on its extension."""
for category, extensions in CATEGORIES.items():
if file_extension.lower() in extensions:
return category
return "Other"
def organize_downloads():
"""Organize files in the Downloads folder into categorized subfolders."""
downloads_path = Path.home() / "Downloads"
if not downloads_path.exists():
print(f"Downloads folder not found at: {downloads_path}")
return
for item in downloads_path.iterdir():
if item.is_dir():
continue
if item.name.startswith("."):
continue
category = get_category(item.suffix)
category_folder = downloads_path / category
category_folder.mkdir(exist_ok=True)
shutil.move(str(item), str(category_folder / item.name))
print("Done! Your Downloads folder is now organized.")
if __name__ == "__main__":
organize_downloads()
Ask Claude Code for a dry-run preview
Before running the script on your real files, it's smart to preview what would happen. This builds trust and lets you catch any issues.
- Type this prompt at the Claude Code > prompt and press Enter:
Before running this for real, can you show me what would happen if I ran this on my Downloads folder? List which files would go where, without actually moving anything.
Why preview first?
A dry run shows you exactly which files would land in which folders. You can spot problems before anything moves.
For example, you might notice a file type you forgot to include, or a category that doesn't make sense for your specific Downloads folder.
- Review the preview output. Claude Code will list your actual files and show which category folder each one would go into.
- If Claude Code asks for permission to read your Downloads folder, type y to approve.
Not seeing your files listed?
If Claude Code says it can't find your Downloads folder, your system may use a different path. Tell Claude Code where your Downloads folder is located and ask it to try again.
If Claude Code shows an empty list, your Downloads folder might already be empty or contain only hidden files. Try downloading a test file (like a .jpg image) and asking again.
help me debug why Claude Code can't find or read my Downloads folder
Your organizer script is built and you've confirmed what it will do. Next up, you'll run it for real and watch your messy Downloads folder transform into something tidy.
Run the Organizer on Your Downloads Folder
You have previewed what your organizer would do, and everything looks right. Now it is time to run it for real and watch your messy Downloads folder transform into something organized.
In this step, you will tell Claude Code to execute the script on your actual files. After confirming the results, you will iterate on the tool by adding new file categories.
In this step, get ready to:
- Run the organizer script on your real Downloads folder.
- Verify that your files have been sorted into categorized subfolders.
- Customize the organizer by adding new categories like Music and Archives.
Tell Claude Code to run the script for real
The dry run showed you a preview of where files would go. Now you will give Claude Code the green light to actually move files on your computer.
- At the Claude Code prompt, type the following and press Enter:
Looks good! Please run the script on my actual Downloads folder now.
- Claude Code will ask for permission to run the script. Type y and press Enter to approve.
What happens when you approve?
Claude Code executes the Python script, which scans every file in your Downloads folder and moves each one into a subfolder based on its file extension. Folders and hidden files (starting with a dot) are left untouched.
You should see output confirming the files were organized. If your Downloads folder was already mostly empty, you may see a message saying there were no files to organize.
🙋♀️ Seeing a permission error?
If the script cannot access your Downloads folder, your operating system may be restricting file access. On macOS, go to System Settings, then Privacy & Security, then Files and Folders and make sure Terminal has access to your Downloads folder.
help me fix a permission error when running my Downloads organizer script
Verify the results in your file manager
The script has finished running. Time to see the result with your own eyes.
- Open your Downloads folder in Finder (macOS), File Explorer (Windows), or your file manager (Linux).
- You should see new subfolders like Images, Documents, Videos, Spreadsheets, and Other inside your Downloads folder.
- Click into a few subfolders to confirm your files have been sorted correctly.
What if my Downloads folder was mostly empty?
If you did not have many files in your Downloads folder, you may only see one or two subfolders. That is perfectly fine. The script only creates a subfolder when there are files to put in it.
Customize the organizer with more categories
Your organizer works, but maybe some files ended up in the Other folder that deserve their own category. This is where the iterative power of Claude Code shines. You can refine the tool just by asking.
- Back in your Claude Code session, type the following and press Enter:
Actually, can you also add a "Music" category for .mp3 and .wav files? And move the .zip files into an "Archives" folder instead of "Other".
- Review what Claude Code proposes. It will update the script to include new categories for Music and Archives.
- Type y to approve the changes when Claude Code asks for permission to update the file.
Why is iteration so powerful here?
You just improved a working tool in seconds by describing what you wanted differently. No code editing, no debugging. Claude Code understood your request, updated the right parts of the script, and kept everything else intact.
This is the core Claude Code workflow: prompt, review, approve, and refine. Each cycle makes your tool better.
- Ask Claude Code to run the updated script by typing:
Run the updated script on my Downloads folder.
- Approve the command when Claude Code asks for permission.
- Open your Downloads folder again. You should now see Music and Archives subfolders alongside the originals (if you had matching files).
Don't see the new folders?
The new subfolders only appear if you have files that match the new categories. If you do not have any .mp3, .wav, or .zip files in your Downloads folder, the Music and Archives folders will not be created. That is expected behavior.
my updated organizer ran but I don't see the new category folders
✔️ Awesome, I've got everything!
Great. Make sure your updated organize_downloads.py includes the Music and Archives categories.
ⓧ I'd like to double check the full code
Here is what your organize_downloads.py should look like after adding the Music and Archives categories. Claude Code may have generated slightly different formatting, but the categories and logic should match.
import os
import shutil
from pathlib import Path
# Define file categories and their extensions
CATEGORIES = {
"Images": [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".svg", ".webp", ".heic", ".tiff"],
"Documents": [".pdf", ".doc", ".docx", ".txt", ".rtf", ".odt", ".pages"],
"Spreadsheets": [".xlsx", ".xls", ".csv", ".numbers", ".ods"],
"Videos": [".mp4", ".mov", ".avi", ".mkv", ".wmv", ".flv", ".webm"],
"Music": [".mp3", ".wav", ".flac", ".aac", ".ogg", ".wma", ".m4a"],
"Archives": [".zip", ".rar", ".7z", ".tar", ".gz", ".bz2", ".dmg", ".iso"],
}
def get_category(file_extension):
"""Determine which category a file belongs to based on its extension."""
for category, extensions in CATEGORIES.items():
if file_extension.lower() in extensions:
return category
return "Other"
def organize_downloads():
"""Organize files in the Downloads folder into categorized subfolders."""
downloads_path = Path.home() / "Downloads"
if not downloads_path.exists():
print(f"Downloads folder not found at: {downloads_path}")
return
for item in downloads_path.iterdir():
if item.is_dir():
continue
if item.name.startswith("."):
continue
category = get_category(item.suffix)
category_folder = downloads_path / category
category_folder.mkdir(exist_ok=True)
shutil.move(str(item), str(category_folder / item.name))
print("Done! Your Downloads folder is now organized.")
if __name__ == "__main__":
organize_downloads()
Your organizer works and you have already improved it through conversation. Next up, you will make it even smarter by handling duplicate filenames and adding a summary log.
Make the Organizer Smarter
Your organizer works, but it has a weakness. If you download a second file called report.pdf, the script would silently overwrite the first one.
In this step, you will ask Claude Code to fix this problem and add a helpful summary log. By the end, your script will protect your files from being overwritten and tell you exactly what it did after each run.
In this step, get ready to:
- Add duplicate filename protection so files never get overwritten.
- Add a summary log showing how many files moved into each category.
- Run the improved script and verify the output.
Ask Claude Code to handle duplicate filenames
Right now, if two files share the same name, the second one replaces the first. A smarter approach is to append a number to the filename automatically.
- In your Claude Code session, type this prompt and press Enter:
What happens if there's already a file with the same name in the destination folder? Can you update the script so it doesn't overwrite anything - instead, add a number to the filename like "photo (2).jpg"?
Watch Claude Code work through the problem and propose changes to your script.
What should I see?
Claude Code will explain its approach and show you the code it wants to add. Look for a new function (likely called get_unique_filename) that checks if a file already exists and adds a counter like (2), (3) to the name until it finds one that is available.
You do not need to understand every line. Focus on whether the explanation matches what you asked for: no overwriting, numbered duplicates.
- When Claude Code asks for permission to update the file, approve it by typing y and pressing Enter.
Claude Code produced something different?
Claude Code's output may vary slightly from run to run. As long as the explanation mentions handling duplicates by renaming (not overwriting), it is doing the right thing.
If the response seems off-topic or incomplete, try rephrasing your request. You can type something like: "I want to make sure no files ever get overwritten. Add a number to the filename if a duplicate exists."
help me get Claude Code to handle duplicate filenames in my organizer script
Ask Claude Code to add a summary log
Moving files silently is fine, but knowing exactly what happened is better. A quick summary at the end tells you how many files landed in each category.
- Type this prompt into Claude Code and press Enter:
Can you make the script print a summary at the end showing how many files were moved into each category? I want to see something like "Moved 12 files: 5 Images, 3 Documents, 2 Videos, 2 Other".
What does this change?
Claude Code will add a counter that tracks how many files go into each category as the script runs. At the end, it prints a one-line summary so you can confirm everything worked at a glance.
- Review Claude Code's explanation to confirm it adds a printed summary.
- Approve the file update by typing y when prompted.
Why iterate like this?
You just improved your tool twice through plain conversation. This is the core Claude Code workflow: describe what you want changed, review the proposal, approve it. Each improvement builds on the last without you touching any code.
🙋♀️ Claude Code changed too many things at once?
Sometimes Claude Code adds extra improvements you did not ask for (like new categories or better error handling). That is fine as long as the core behavior you requested is there.
If you want to undo something unexpected, just tell Claude Code: "Undo that last change" or "Remove the part about [specific thing]."
help me review what Claude Code changed in my script
Run the improved version
Time to see your improved organizer in action. Any new files that have landed in your Downloads folder since the last run will get sorted, and this time you will see exactly what happened.
- Ask Claude Code to run the updated script by typing this prompt:
Run the updated script on my Downloads folder.
- Approve the command when Claude Code asks for permission.
What should I see?
You should see a printed summary in your terminal showing how many files were moved and into which categories. If your Downloads folder was already organized from the previous run, you might see "No files to organize" instead. That is expected.
- Open your Downloads folder in Finder (macOS), File Explorer (Windows), or your file manager (Linux) to confirm the subfolders look correct.
Test duplicates by copying a file back
To test the duplicate-handling feature, copy any file from one of the subfolders back into the main Downloads folder. Run the script again and check that the file got a numbered name like photo (2).jpg instead of overwriting the original.
🙋♀️ Script did not run?
If Claude Code says it cannot find the script, make sure your Claude Code session is still in the downloads-organizer folder. You can ask: "What directory are we in?" to check.
If you see an error about Python not being found, ask Claude Code: "Can you check if Python is installed and run the script with the correct command?"
help me run my improved organizer script
✔️ Awesome, I've got everything!
Great. Double check you are happy with the summary output and that your Downloads folder subfolders look organized.
ⓧ I'd like to double check the full code
Here is what your organize_downloads.py should look like after Claude Code's improvements. Your version may differ slightly in comments or variable names, and that is perfectly fine. The key features to look for are the duplicate-handling function and the summary printout at the end.
import os
import shutil
from pathlib import Path
from datetime import datetime
# Define file categories and their extensions
CATEGORIES = {
"Images": [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".svg", ".webp", ".heic", ".tiff"],
"Documents": [".pdf", ".doc", ".docx", ".txt", ".rtf", ".odt", ".pages"],
"Spreadsheets": [".xlsx", ".xls", ".csv", ".numbers", ".ods"],
"Videos": [".mp4", ".mov", ".avi", ".mkv", ".wmv", ".flv", ".webm"],
"Music": [".mp3", ".wav", ".flac", ".aac", ".ogg", ".wma", ".m4a"],
"Archives": [".zip", ".rar", ".7z", ".tar", ".gz", ".bz2", ".dmg", ".iso"],
"Presentations": [".pptx", ".ppt", ".key", ".odp"],
"Code": [".py", ".js", ".html", ".css", ".json", ".xml", ".yaml", ".yml"],
}
def get_category(file_extension):
"""Determine which category a file belongs to based on its extension."""
for category, extensions in CATEGORIES.items():
if file_extension.lower() in extensions:
return category
return "Other"
def get_unique_filename(destination_folder, filename):
"""If a file with the same name exists, add a number to avoid overwriting."""
destination = destination_folder / filename
if not destination.exists():
return destination
stem = destination.stem
suffix = destination.suffix
counter = 2
while True:
new_name = f"{stem} ({counter}){suffix}"
destination = destination_folder / new_name
if not destination.exists():
return destination
counter += 1
def organize_downloads():
"""Organize files in the Downloads folder into categorized subfolders."""
downloads_path = Path.home() / "Downloads"
if not downloads_path.exists():
print(f"Downloads folder not found at: {downloads_path}")
return
moved_counts = {}
total_moved = 0
for item in downloads_path.iterdir():
if item.is_dir():
continue
if item.name.startswith("."):
continue
category = get_category(item.suffix)
category_folder = downloads_path / category
category_folder.mkdir(exist_ok=True)
destination = get_unique_filename(category_folder, item.name)
shutil.move(str(item), str(destination))
moved_counts[category] = moved_counts.get(category, 0) + 1
total_moved += 1
if total_moved == 0:
print("No files to organize. Your Downloads folder is already clean!")
else:
print(f"\nMoved {total_moved} file{'s' if total_moved != 1 else ''}:")
for category, count in sorted(moved_counts.items()):
print(f" {category}: {count}")
print("\nDone! Your Downloads folder is now organized.")
if __name__ == "__main__":
organize_downloads()
You just iteratively built a real tool by having a conversation. You started with a simple organizer, then made it safer and more informative through plain English requests. That is the power of the Claude Code workflow: prompt, review, approve, run, repeat.
Next up, you will put this workflow to the ultimate test by building a brand new tool entirely on your own.
Secret mission
Build a Second Tool on Your Own
You have learned the full Claude Code workflow: prompt, review, approve, run, iterate. Now prove you can repeat it by building a completely different tool on your own. No hand-holding this time.
Clean Up Your Resources
Clean Up Your Resources
This project runs locally on your computer, so there are no cloud resources generating ongoing charges. However, your Claude Pro or Max subscription does renew monthly. Decide whether to keep your resources, pause them, or delete them entirely.
Cost warning
If you signed up for Claude Pro ($20/month) or Max ($100/month+) specifically for this project, your subscription will renew automatically. Cancel before your next billing date if you do not plan to keep using Claude Code.
If you used Console API credits, there is no recurring charge. You only pay for what you use.
Resources you used:
- Local project folder (downloads-organizer).
- Claude Code CLI (installed on your computer).
- Organized subfolders in your Downloads folder (Images, Documents, Videos, etc.).
- Claude Pro/Max subscription or Console API credits.
Keep everything running
No action needed. Choose this if you plan to keep using Claude Code to build more tools.
- Your downloads-organizer folder stays on your computer with the script ready to re-run anytime.
- Claude Code stays installed and ready for your next project.
- Your organized Downloads subfolders remain in place.
- Your Claude subscription continues to renew. This gives you access to Claude Code and Claude chat.
Pause - I'll come back to this later
Free up subscription costs while keeping your local files intact.
- Your local files (downloads-organizer folder, organized Downloads subfolders) stay on your computer at no cost.
- Cancel your Claude subscription to stop monthly charges. Go to claude.ai, click your initials in the lower left corner, select Settings, then Billing, and click Cancel. Your access continues until the end of your current billing period.
- Claude Code stays installed on your machine. You can re-subscribe and pick up right where you left off.
Delete - I don't want to use this again
Remove all project files and uninstall Claude Code completely.
- Delete your project folder. On macOS/Linux, run:
- Cancel your Claude subscription. Go to claude.ai, click your initials in the lower left corner, select Settings, then Billing, and click Cancel.
Delete your project folder on macOS/Linux by running:
rm -rf ~/downloads-organizer
On Windows PowerShell, run:
Remove-Item -Path "$HOME\downloads-organizer" -Recurse -Force
Uninstall Claude Code. On macOS/Linux (native install), run:
rm -f ~/.local/bin/claude
rm -rf ~/.local/share/claude
On Windows PowerShell (native install), run:
Remove-Item -Path "$env:USERPROFILE\.local\bin\claude.exe" -Force
Remove-Item -Path "$env:USERPROFILE\.local\share\claude" -Recurse -Force
If you installed via Homebrew, run:
brew uninstall --cask claude-code
If you installed via WinGet, run:
winget uninstall Anthropic.ClaudeCode
Remove Claude Code configuration files. On macOS/Linux, run:
rm -rf ~/.claude
rm -f ~/.claude.json
On Windows PowerShell, run:
Remove-Item -Path "$env:USERPROFILE\.claude" -Recurse -Force
Remove-Item -Path "$env:USERPROFILE\.claude.json" -Force
Your organized Downloads subfolders (Images, Documents, Videos, etc.) contain your actual files. Review them before deleting. If you want to move files back to the root Downloads folder and remove the subfolders, you can do that manually in Finder (macOS) or File Explorer (Windows).
That's a Wrap!
That's a Wrap!
Nice work! You just used AI to build a real, useful automation tool without writing a single line of code yourself.
You've learned how to:
- Built a file organizer that scans your Downloads folder and sorts files into categorized subfolders by type.
- Directed Claude Code using plain English prompts to build, preview, and run a real tool.
- Iterated on AI-generated code through conversation, adding duplicate handling, a summary log, and new file categories.
- Built a second tool entirely on your own, proving you can repeat the prompt, review, approve, run workflow for any problem.
Ready to quiz yourself?