Index: app/main.py
===================================================================
--- app/main.py	(revision 88d7d3d6f54345bbab95f5cca04bb2059bf25832)
+++ app/main.py	(revision 05f32c936f0a89e7592cb2a4eabd8d63fdeded0c)
@@ -433,7 +433,22 @@
 
 @app.get("/tags/", response_model=List[TagResponse])
-def get_tags(db: Session = Depends(get_db)):
-    tags = db.query(Tag).all()
-    return tags
+def get_tags(
+    user: User = Depends(get_current_user),
+    db: Session = Depends(get_db)
+):
+    """
+    Retrieve tags accessible to the logged-in user based on their transactions.
+    """
+    accessible_tags = (
+        db.query(Tag)
+        .join(TagAssignedToTransaction, Tag.tag_id == TagAssignedToTransaction.tag_id)
+        .join(Transaction, TagAssignedToTransaction.transaction_id == Transaction.transaction_id)
+        .join(TransactionBreakdown, Transaction.transaction_id == TransactionBreakdown.transaction_id)
+        .join(TransactionAccount, TransactionBreakdown.transaction_account_id == TransactionAccount.transaction_account_id)
+        .filter(TransactionAccount.user_id == user.user_id)
+        .distinct()
+        .all()
+    )
+    return accessible_tags
 
 @app.post("/tags/assign/", response_model=dict)
Index: cli/cli_app.py
===================================================================
--- cli/cli_app.py	(revision 88d7d3d6f54345bbab95f5cca04bb2059bf25832)
+++ cli/cli_app.py	(revision 05f32c936f0a89e7592cb2a4eabd8d63fdeded0c)
@@ -347,6 +347,9 @@
 
 def view_tags():
-    print("\nView Tags")
-    response = requests.get(f"{BASE_URL}/tags/")
+    """Retrieve and display tags accessible to the logged-in user."""
+    headers = {"Authorization": f"Bearer {access_token}"}
+    
+    print("\nYour Tags")
+    response = requests.get(f"{BASE_URL}/tags/", headers=headers)
 
     if response.status_code == 200:
@@ -355,5 +358,5 @@
             print(f"ID: {tag['tag_id']}, Name: {tag['tag_name']}")
     else:
-        print("Error retrieving tags.")
+        print(f"Failed to retrieve tags. Error: {response.json().get('detail', 'Unknown error')}")
 
 def assign_tag_to_transaction():
